You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tika.apache.org by bo...@apache.org on 2016/03/27 04:10:14 UTC
tika git commit: TIKA-1909 - Include a Proxy for EncodingDetectors.
Repository: tika
Updated Branches:
refs/heads/2.x f403a0832 -> a38c4271e
TIKA-1909 - Include a Proxy for EncodingDetectors.
Project: http://git-wip-us.apache.org/repos/asf/tika/repo
Commit: http://git-wip-us.apache.org/repos/asf/tika/commit/a38c4271
Tree: http://git-wip-us.apache.org/repos/asf/tika/tree/a38c4271
Diff: http://git-wip-us.apache.org/repos/asf/tika/diff/a38c4271
Branch: refs/heads/2.x
Commit: a38c4271eb82e12a57f281eca3afa2edab33fae5
Parents: f403a08
Author: Bob Paulin <bo...@apache.org>
Authored: Sat Mar 26 21:10:08 2016 -0500
Committer: Bob Paulin <bo...@apache.org>
Committed: Sat Mar 26 21:10:08 2016 -0500
----------------------------------------------------------------------
.../tika/detect/EncodingDetectorProxy.java | 40 ++++++++++++++++++++
1 file changed, 40 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tika/blob/a38c4271/tika-core/src/main/java/org/apache/tika/detect/EncodingDetectorProxy.java
----------------------------------------------------------------------
diff --git a/tika-core/src/main/java/org/apache/tika/detect/EncodingDetectorProxy.java b/tika-core/src/main/java/org/apache/tika/detect/EncodingDetectorProxy.java
new file mode 100644
index 0000000..d6a771d
--- /dev/null
+++ b/tika-core/src/main/java/org/apache/tika/detect/EncodingDetectorProxy.java
@@ -0,0 +1,40 @@
+package org.apache.tika.detect;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.nio.charset.Charset;
+
+import org.apache.tika.config.LoadErrorHandler;
+import org.apache.tika.metadata.Metadata;
+
+public class EncodingDetectorProxy implements EncodingDetector {
+
+private EncodingDetector detector;
+
+ public EncodingDetectorProxy(String encodingDetectorClassName, ClassLoader loader)
+ {
+ this(encodingDetectorClassName, loader, LoadErrorHandler.IGNORE);
+ }
+
+ public EncodingDetectorProxy(String encodingDetectorClassName, ClassLoader loader, LoadErrorHandler handler)
+ {
+ try
+ {
+ this.detector = (EncodingDetector)Class.forName(encodingDetectorClassName, true, loader).newInstance();
+ }
+ catch (InstantiationException | IllegalAccessException | ClassNotFoundException e)
+ {
+ handler.handleLoadError(encodingDetectorClassName, e);
+ }
+ }
+
+ @Override
+ public Charset detect(InputStream input, Metadata metadata) throws IOException {
+ if(detector != null)
+ {
+ return detector.detect(input, metadata);
+ }
+ return null;
+ }
+
+}