FileAnalyzer.java revision 1470
* The contents of this file are subject to the terms of the * Common Development and Distribution License (the "License"). * You may not use this file except in compliance with the License. * See LICENSE.txt included in this distribution for the specific * language governing permissions and limitations under the License. * When distributing Covered Code, include this CDDL HEADER in each * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. * Base class for all different File Analyzers * An Analyzer for a filetype provides * <li>the file extentions and magic numbers it analyzes</li> * <li>a lucene document listing the fields it can support</li> * <li>TokenStreams for each of the field it said requires tokenizing in 2</li> * <li>cross reference in HTML format</li> * <li>the type of file data, plain text etc.</li> * Created on September 21, 2005 /** the project to which this analyzer is related to */ * What kind of file is this? public static enum Genre {
/** xrefed - line numbered context */ /** xrefed - summarizer context */ /** not xrefed - no context - used by diff/list */ /** not xrefed - no context */ /** not xrefed - summarizer context from original file */ * Get the type name value used to tag lucence documents. * @return a none-null string. * Get the Genre for the given type name. * @param typeName name to check * @return {@code null} if it doesn't match any genre, the genre otherwise. * Ctags instance to use for tagging. * Set the ctag instance to use for tagging this repo's files. * @param ctags instance to set. *Set the project, to which this instance is related to. * @param project project to set. * Get the factory which created this analyzer. * @return the {@code FileAnalyzerFactory} which created this analyzer * Get the genre, which this analyzer usually handles. * @return the genre this analyzer handles. * @see FileAnalyzerFactory#getGenre() /** Creates a new instance of FileAnalyzer * @param factory the factory to use to obtain default settings */ * Read the given input, analyze it and store the result into the given * document. NOTE: This method does not close given input stream on return! * @param doc where to store results. * @param in source to read. * Get the TokenStream for the given fieldname. * @param fieldName filed name in question {@code path | project | hist} * @param reader reader to use. * @return {@code null} for unknown field names, a new corresponding //TODO needs refactoring to get more speed and less ram usage for indexer * Write out current results html formatted to the given writer. * @param out to writer HTML cross-reference * @throws java.io.IOException if an error occurs out.
write(
"Error General File X-Ref writer!");
* Write out current results html formatted to the given destination. * @param xrefDir the parent directory of the file to write. * @param path the relative path wrt. <var>xrefDir</var> of the file to write.