org.gjt.sp.jedit.io
Class AutoDetection

java.lang.Object
  extended by org.gjt.sp.jedit.io.AutoDetection

public class AutoDetection
extends java.lang.Object

Some functions for auto detection of I/O stream properties.


Nested Class Summary
static class AutoDetection.Result
          An utility class to hold the result of some auto detections.
 
Constructor Summary
AutoDetection()
           
 
Method Summary
static java.lang.String getDetectedEncoding(java.io.BufferedInputStream markedStream)
          Returns an auto detected encoding from content of markedStream.
static java.util.List<EncodingDetector> getEncodingDetectors()
          Returns the user configured ordered list of encoding detectors.
static java.io.BufferedInputStream getMarkedStream(java.io.InputStream in)
          Returns a marked, rewindable stream.
static boolean isGzipped(java.io.InputStream sample)
          Returns wheather the stream is gzipped.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AutoDetection

public AutoDetection()
Method Detail

getMarkedStream

public static java.io.BufferedInputStream getMarkedStream(java.io.InputStream in)
Returns a marked, rewindable stream. Calling reset() method rewinds the stream to its beginning. But reset() can fail if too long bytes were read.


isGzipped

public static boolean isGzipped(java.io.InputStream sample)
                         throws java.io.IOException
Returns wheather the stream is gzipped. This method reads a few bytes from the sample. So a caller must take care of mark() to reuse the contents. Wraping the stream by getMarkedStream() is suitable.

Throws:
java.io.IOException

getEncodingDetectors

public static java.util.List<EncodingDetector> getEncodingDetectors()
Returns the user configured ordered list of encoding detectors. This method reads property "encodingDetectors".


getDetectedEncoding

public static java.lang.String getDetectedEncoding(java.io.BufferedInputStream markedStream)
                                            throws java.io.IOException
Returns an auto detected encoding from content of markedStream. This method assumes that markedStream is wrapped by getMarkedStream() method.

Throws:
java.io.IOException