• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // This file is part of TagSoup and is Copyright 2002-2008 by John Cowan.
2 //
3 // TagSoup is licensed under the Apache License,
4 // Version 2.0.  You may obtain a copy of this license at
5 // http://www.apache.org/licenses/LICENSE-2.0 .  You may also have
6 // additional legal rights not granted by this license.
7 //
8 // TagSoup is distributed in the hope that it will be useful, but
9 // unless required by applicable law or agreed to in writing, TagSoup
10 // is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
11 // OF ANY KIND, either express or implied; not even the implied warranty
12 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13 //
14 //
15 // Interface to objects that translate InputStreams to Readers by auto-detection
16 
17 package org.ccil.cowan.tagsoup;
18 import java.io.Reader;
19 import java.io.InputStream;
20 
21 /**
22 Classes which accept an InputStream and provide a Reader which figures
23 out the encoding of the InputStream and reads characters from it should
24 conform to this interface.
25 @see java.io.InputStream
26 @see java.io.Reader
27 */
28 
29 public interface AutoDetector {
30 
31 	/**
32 	Given an InputStream, return a suitable Reader that understands
33 	the presumed character encoding of that InputStream.
34 	If bytes are consumed from the InputStream in the process, they
35 	<i>must</i> be pushed back onto the InputStream so that they can be
36 	reinterpreted as characters.
37 	@param i The InputStream
38 	@return A Reader that reads from the InputStream
39 	*/
40 
autoDetectingReader(InputStream i)41 	public Reader autoDetectingReader(InputStream i);
42 
43 	}
44