~slub.team/goobi-indexserver/3.x

« back to all changes in this revision

Viewing changes to solr/solrj/src/java/org/apache/solr/common/util/ContentStream.java

  • Committer: Sebastian Meyer
  • Date: 2012-08-03 09:12:40 UTC
  • Revision ID: sebastian.meyer@slub-dresden.de-20120803091240-x6861b0vabq1xror
Remove Lucene and Solr source code and add patches instead
Fix Bug #985487: Auto-suggestion for the search interface

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * Licensed to the Apache Software Foundation (ASF) under one or more
3
 
 * contributor license agreements.  See the NOTICE file distributed with
4
 
 * this work for additional information regarding copyright ownership.
5
 
 * The ASF licenses this file to You under the Apache License, Version 2.0
6
 
 * (the "License"); you may not use this file except in compliance with
7
 
 * the License.  You may obtain a copy of the License at
8
 
 *
9
 
 *     http://www.apache.org/licenses/LICENSE-2.0
10
 
 *
11
 
 * Unless required by applicable law or agreed to in writing, software
12
 
 * distributed under the License is distributed on an "AS IS" BASIS,
13
 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
 
 * See the License for the specific language governing permissions and
15
 
 * limitations under the License.
16
 
 */
17
 
 
18
 
package org.apache.solr.common.util;
19
 
 
20
 
import java.io.IOException;
21
 
import java.io.InputStream;
22
 
import java.io.Reader;
23
 
 
24
 
/**
25
 
 * @version $Id$
26
 
 * @since solr 1.2
27
 
 */
28
 
public interface ContentStream {
29
 
  String getName();
30
 
  String getSourceInfo();
31
 
  String getContentType();
32
 
  
33
 
  /**
34
 
   * @return the stream size or <code>null</code> if not known
35
 
   */
36
 
  Long getSize(); // size if we know it, otherwise null
37
 
  
38
 
  /**
39
 
   * Get an open stream.  You are responsible for closing it.  Consider using 
40
 
   * something like:
41
 
   * <pre>
42
 
   *   InputStream stream = stream.getStream();
43
 
   *   try {
44
 
   *     // use the stream...
45
 
   *   }
46
 
   *   finally {
47
 
   *     IOUtils.closeQuietly(stream);
48
 
   *   }
49
 
   *  </pre>
50
 
   *  
51
 
   * Only the first call to <code>getStream()</code> or <code>getReader()</code>
52
 
   * is guaranteed to work.  The runtime behavior for additional calls is undefined.
53
 
   */
54
 
  InputStream getStream() throws IOException;
55
 
 
56
 
  /**
57
 
   * Get an open stream.  You are responsible for closing it.  Consider using 
58
 
   * something like:
59
 
   * <pre>
60
 
   *   Reader reader = stream.getReader();
61
 
   *   try {
62
 
   *     // use the reader...
63
 
   *   }
64
 
   *   finally {
65
 
   *     IOUtils.closeQuietly(reader);
66
 
   *   }
67
 
   *  </pre>
68
 
   *  
69
 
   * Only the first call to <code>getStream()</code> or <code>getReader()</code>
70
 
   * is guaranteed to work.  The runtime behavior for additional calls is undefined.
71
 
   */
72
 
  Reader getReader() throws IOException;
73
 
}