XMLAnalyzerFactory.java revision 6fd168587048fe0e2cb37acdcc9ae9764c83b2d2
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen/*
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * CDDL HEADER START
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen *
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * The contents of this file are subject to the terms of the
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Common Development and Distribution License (the "License").
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * You may not use this file except in compliance with the License.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen *
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * See LICENSE.txt included in this distribution for the specific
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * language governing permissions and limitations under the License.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen *
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * When distributing Covered Code, include this CDDL HEADER in each
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * file and include the License file at LICENSE.txt.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * If applicable, add the following below this CDDL HEADER, with the
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * fields enclosed by brackets "[]" replaced with your own identifying
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * information: Portions Copyright [yyyy] [name of copyright owner]
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen *
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * CDDL HEADER END
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen */
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen/*
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen * Use is subject to license terms.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen */
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenpackage org.opensolaris.opengrok.analysis.plain;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport java.io.InputStream;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport java.io.IOException;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport java.io.Writer;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport org.opensolaris.opengrok.analysis.FileAnalyzer;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport org.opensolaris.opengrok.analysis.FileAnalyzer.Genre;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
6fd168587048fe0e2cb37acdcc9ae9764c83b2d2Trond Norbyeimport org.opensolaris.opengrok.configuration.Project;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport org.opensolaris.opengrok.history.Annotation;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenpublic class XMLAnalyzerFactory extends FileAnalyzerFactory {
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen private static final String[] SUFFIXES = {
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen "HTML", "HTM", "XML"
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen };
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen private static final String[] MAGICS = {
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen "<htm", "<HTM", "<?xm", "<?Xm", "<?XM",
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen "<!--", "<!EN", "<!DO", "<tit",
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen "<TIT", "<XML", "<xml", "<HEA", "<hea"
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen };
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen public XMLAnalyzerFactory() {
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen super(SUFFIXES, MAGICS, null, "text/html", Genre.PLAIN);
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen }
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen @Override
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen protected FileAnalyzer newAnalyzer() {
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen return new XMLAnalyzer(this);
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen }
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen @Override
6fd168587048fe0e2cb37acdcc9ae9764c83b2d2Trond Norbye public void writeXref(InputStream in, Writer out, Annotation annotation, Project project)
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen throws IOException
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen {
6fd168587048fe0e2cb37acdcc9ae9764c83b2d2Trond Norbye XMLAnalyzer.writeXref(in, out, annotation, project);
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen }
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen}