📄 stringarraydocumentcollection.java
字号:
package test.it.unimi.dsi.mg4j.document;import it.unimi.dsi.fastutil.objects.Reference2ObjectMap;import it.unimi.dsi.fastutil.objects.Reference2ObjectMaps;import it.unimi.dsi.mg4j.document.AbstractDocumentCollection;import it.unimi.dsi.mg4j.document.Document;import it.unimi.dsi.mg4j.document.DocumentCollection;import it.unimi.dsi.mg4j.document.DocumentFactory;import it.unimi.dsi.mg4j.document.IdentityDocumentFactory;import it.unimi.dsi.fastutil.io.FastByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import org.apache.commons.configuration.ConfigurationException;/** A document collection explicitly defined by a sequence of strings (mainly useful for testing). * * <p>Every string in the provided sequence is considered a document, * and the stream returned by the collection is the UTF-8 encoding of the string. By default, * the collection uses an {@link IdentityDocumentFactory}, but you can also * {@linkplain #StringArrayDocumentCollection(DocumentFactory, String[]) specify your own factory}. */public class StringArrayDocumentCollection extends AbstractDocumentCollection { final public String[] document; final DocumentFactory factory; public StringArrayDocumentCollection( final String... document ) throws ConfigurationException { factory = new IdentityDocumentFactory( new String[] { "encoding=UTF-8" } ); this.document = document; } public StringArrayDocumentCollection( final DocumentFactory factory, final String... document ) { this.factory = factory; this.document = document; } public int size() { return document.length; } public Document document( final int index ) throws IOException { return factory.getDocument( stream( index ), metadata( index ) ); } public InputStream stream( final int index ) throws IOException { return new FastByteArrayInputStream( document[ index ].getBytes( "UTF-8" ) ); } @SuppressWarnings("unchecked") public Reference2ObjectMap<Enum<?>, Object> metadata( int index ) throws IOException { return Reference2ObjectMaps.EMPTY_MAP; } public DocumentCollection copy() { return this; } public DocumentFactory factory() { return factory; };}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -