projects
/
sonitus.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ab9e627
)
Add method to expose a source’s metadata.
author
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 16 Mar 2013 18:51:01 +0000
(19:51 +0100)
committer
David ‘Bombe’ Roden
<bombe@pterodactylus.net>
Sat, 16 Mar 2013 18:51:01 +0000
(19:51 +0100)
src/main/java/net/pterodactylus/sonitus/data/Source.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
patch
|
blob
|
history
src/main/java/net/pterodactylus/sonitus/data/source/FileSource.java
patch
|
blob
|
history
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/Source.java
b/src/main/java/net/pterodactylus/sonitus/data/Source.java
index
e75b920
..
270a8bf
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/Source.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/Source.java
@@
-36,6
+36,13
@@
public interface Source {
Format format();
/**
Format format();
/**
+ * Returns the metadata of this source.
+ *
+ * @return The metadata of this source
+ */
+ Metadata metadata();
+
+ /**
* Retrieves the given name of bytes from this source. The source should always
* try to read as much data as was requested but is free to return a byte array
* with less elements that requested. However, the byte array will always be
* Retrieves the given name of bytes from this source. The source should always
* try to read as much data as was requested but is free to return a byte array
* with less elements that requested. However, the byte array will always be
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
index
73d4b5f
..
3bfb774
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/ExternalFilter.java
@@
-30,6
+30,7
@@
import net.pterodactylus.sonitus.data.ConnectException;
import net.pterodactylus.sonitus.data.Connection;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
import net.pterodactylus.sonitus.data.Connection;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
+import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.io.InputStreamDrainer;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.io.InputStreamDrainer;
@@
-65,6
+66,11
@@
public abstract class ExternalFilter implements Filter {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return source.metadata();
+ }
+
+ @Override
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
int read = pipedInputStream.read(buffer);
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
int read = pipedInputStream.read(buffer);
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java
index
a6566ed
..
33424ac
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/MultiSourceFilter.java
@@
-32,6
+32,7
@@
import java.util.logging.Logger;
import net.pterodactylus.sonitus.data.ConnectException;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
import net.pterodactylus.sonitus.data.ConnectException;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
+import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.ReusableSink;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.data.event.SourceFinishedEvent;
import net.pterodactylus.sonitus.data.ReusableSink;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.data.event.SourceFinishedEvent;
@@
-72,6
+73,13
@@
public class MultiSourceFilter implements Filter, ReusableSink {
}
@Override
}
@Override
+ public Metadata metadata() {
+ synchronized (syncObject) {
+ return connection.source.metadata();
+ }
+ }
+
+ @Override
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
InputStream inputStream;
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
InputStream inputStream;
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
b/src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
index
c87a986
..
a573295
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/filter/RateLimitingFilter.java
@@
-30,6
+30,7
@@
import net.pterodactylus.sonitus.data.ConnectException;
import net.pterodactylus.sonitus.data.Connection;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
import net.pterodactylus.sonitus.data.Connection;
import net.pterodactylus.sonitus.data.Filter;
import net.pterodactylus.sonitus.data.Format;
+import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Source;
import com.google.common.base.Preconditions;
import net.pterodactylus.sonitus.data.Source;
import com.google.common.base.Preconditions;
@@
-74,6
+75,11
@@
public class RateLimitingFilter implements Filter {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return source.metadata();
+ }
+
+ @Override
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
int read = pipedInputStream.read(buffer);
public byte[] get(int bufferSize) throws EOFException, IOException {
byte[] buffer = new byte[bufferSize];
int read = pipedInputStream.read(buffer);
diff --git
a/src/main/java/net/pterodactylus/sonitus/data/source/FileSource.java
b/src/main/java/net/pterodactylus/sonitus/data/source/FileSource.java
index
cc61ce0
..
c967e12
100644
(file)
--- a/
src/main/java/net/pterodactylus/sonitus/data/source/FileSource.java
+++ b/
src/main/java/net/pterodactylus/sonitus/data/source/FileSource.java
@@
-29,6
+29,7
@@
import java.io.InputStream;
import java.util.Arrays;
import net.pterodactylus.sonitus.data.Format;
import java.util.Arrays;
import net.pterodactylus.sonitus.data.Format;
+import net.pterodactylus.sonitus.data.Metadata;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.io.IdentifyingInputStream;
import net.pterodactylus.sonitus.data.Source;
import net.pterodactylus.sonitus.io.IdentifyingInputStream;
@@
-83,6
+84,11
@@
public class FileSource implements Source {
}
@Override
}
@Override
+ public Metadata metadata() {
+ return new Metadata().name(path);
+ }
+
+ @Override
public byte[] get(int bufferSize) throws IOException {
byte[] buffer = new byte[bufferSize];
int read = ByteStreams.read(fileInputStream, buffer, 0, bufferSize);
public byte[] get(int bufferSize) throws IOException {
byte[] buffer = new byte[bufferSize];
int read = ByteStreams.read(fileInputStream, buffer, 0, bufferSize);