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/*
eb11fe3584b7b243fb0641da4ab2e157610bb767Lubos Kosco * Copyright (c) 2007, 2015, Oracle and/or its affiliates. All rights reserved.
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen */
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenpackage org.opensolaris.opengrok.analysis.plain;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport java.io.IOException;
1c377666fe7591e06614ee1340bb31d831b60c59Knut Anders Hatlenimport java.io.Reader;
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlenimport java.io.Writer;
6fb29c51593eb4622f537cd43c1a81ffb36a8ff7Knut Anders Hatlenimport org.opensolaris.opengrok.analysis.Definitions;
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 {
eb11fe3584b7b243fb0641da4ab2e157610bb767Lubos Kosco
eb11fe3584b7b243fb0641da4ab2e157610bb767Lubos Kosco private static final String name = "XML";
eb11fe3584b7b243fb0641da4ab2e157610bb767Lubos Kosco
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen private static final String[] SUFFIXES = {
d7375a57cb329e3ca4984fc3b2923b177ddff562haufelex "HTML", "HTM", "XML", "ASPX", "ASCX", "ASAX", "MASTER", "XAML"
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() {
eb11fe3584b7b243fb0641da4ab2e157610bb767Lubos Kosco super(null, null, SUFFIXES, MAGICS, null, "text/html", Genre.PLAIN, name);
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
6fb29c51593eb4622f537cd43c1a81ffb36a8ff7Knut Anders Hatlen public void writeXref(Reader in, Writer out, Definitions defs, Annotation annotation, Project project)
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen throws IOException
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen {
6fb29c51593eb4622f537cd43c1a81ffb36a8ff7Knut Anders Hatlen XMLAnalyzer.writeXref(in, out, defs, annotation, project);
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen }
ca13a2073cb9936daab594cd277550783ac2e6b6Knut Anders Hatlen}