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;
+    }
+
+}