/*
* Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
package com.sun.tools.internal.jxc.ap;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import com.sun.tools.internal.xjc.BadCommandLineException;
This stores the invocation configuration for
SchemaGenerator
Author: Bhakti Mehta
/**
* This stores the invocation configuration for
* SchemaGenerator
*
* @author Bhakti Mehta
*/
public class Options {
public static final String DISABLE_XML_SECURITY = "-disableXmlSecurity";
// honor CLASSPATH environment variable, but it will be overrided by -cp
public String classpath = System.getenv("CLASSPATH");
public File targetDir = null;
public File episodeFile = null;
private boolean disableXmlSecurity = false;
// encoding is not required for JDK5, 6, but JDK 7 javac is much more strict - see issue 6859289
public String encoding = null;
public final List<String> arguments = new ArrayList<String>();
public void parseArguments(String[] args) throws BadCommandLineException {
for (int i = 0 ; i <args.length; i++) {
if (args[i].charAt(0)== '-') {
i += parseArgument(args, i);
} else {
arguments.add(args[i]);
}
}
}
private int parseArgument( String[] args, int i ) throws BadCommandLineException {
if (args[i].equals("-d")) {
if (i == args.length - 1)
throw new BadCommandLineException(
(Messages.OPERAND_MISSING.format(args[i])));
targetDir = new File(args[++i]);
if( !targetDir.exists() )
throw new BadCommandLineException(
Messages.NON_EXISTENT_FILE.format(targetDir));
return 1;
}
if (args[i].equals("-episode")) {
if (i == args.length - 1)
throw new BadCommandLineException(
(Messages.OPERAND_MISSING.format(args[i])));
episodeFile = new File(args[++i]);
return 1;
}
if (args[i].equals(DISABLE_XML_SECURITY)) {
disableXmlSecurity = true;
return 0;
}
if (args[i].equals("-encoding")) {
if (i == args.length - 1)
throw new BadCommandLineException(
(Messages.OPERAND_MISSING.format(args[i])));
encoding = args[++i];
return 1;
}
if (args[i].equals("-cp") || args[i].equals("-classpath")) {
if (i == args.length - 1)
throw new BadCommandLineException(
(Messages.OPERAND_MISSING.format(args[i])));
classpath = args[++i];
return 1;
}
throw new BadCommandLineException(
Messages.UNRECOGNIZED_PARAMETER.format(args[i]));
}
Returns: the disableXmlSecurity
/**
* @return the disableXmlSecurity
*/
public boolean isDisableXmlSecurity() {
return disableXmlSecurity;
}
}