blob: 038d84c27bad00db338908bb02a77139d349421d [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.jena.tools.schemagen;
import jena.schemagen.SchemagenOptions.OPT;
import org.apache.jena.rdf.model.Resource;
import org.apache.jena.rdf.model.ResourceFactory;
import org.apache.maven.plugins.annotations.Parameter;
/**
* <p>Simple container object to hold the per-source configuration
* values from the <code>pom.xml</code>.</p> Source objects are used
* configure SchemagenOptions object during plugin execution.
*
* Use Parameter annotations on fields to designate Maven properties and
* SchemagenOption annotations on getters to designate SchemagenOptions
* destination options.
*/
public class Source {
/** Name of default options element */
public static final String DEFAULT_OPTIONS_ELEM = "default";
@Parameter(property="config-file")
private String configFile;
@Parameter(property="no-comments")
private Boolean noComments;
@Parameter
private String input;
@Parameter(property="lang-daml")
private Boolean langDaml;
@Parameter(property="lang-owl")
private Boolean langOwl;
@Parameter(property="lang-rdfs")
private Boolean langRdfs;
@Parameter
private String output;
@Parameter
private String header;
@Parameter
private String footer;
@Parameter
private String root;
@Parameter
private String marker;
@Parameter(property="package-name")
private String packageName;
@Parameter
private Boolean ontology;
@Parameter(property="classname")
private String className;
@Parameter(property="classdec")
private String classDec;
@Parameter
private String namespace;
@Parameter
private String declarations;
@Parameter(property="property-section")
private String propertySection;
@Parameter(property="class-section")
private String classSection;
@Parameter(property="individuals-section")
private String individualsSection;
@Parameter(property="datatypes-section")
private String datatypesSection;
@Parameter(property="noproperties")
private Boolean noProperties;
@Parameter(property="noclasses")
private Boolean noClasses;
@Parameter(property="noindividuals")
private Boolean noIndividuals;
@Parameter(property="nodatatypes")
private Boolean noDatatypes;
@Parameter(property="noheader")
private Boolean noHeader;
@Parameter(property="prop-template")
private String propTemplate;
@Parameter(property="classtemplate")
private String classTemplate;
@Parameter(property="individualtemplate")
private String individualTemplate;
@Parameter(property="datatypetemplate")
private String datatypeTemplate;
@Parameter(property="uc-names")
private Boolean ucNames;
@Parameter
private String include;
@Parameter(property="classname-suffix")
private String classNameSuffix;
@Parameter
private String encoding;
@Parameter
private Boolean help;
@Parameter
private Boolean dos;
@Parameter(property="use-inf")
private Boolean useInf;
@Parameter(property="strict-individuals")
private Boolean strictIndividuals;
@Parameter(property="include-source")
private Boolean includeSource;
@Parameter(property="no-strict")
private Boolean noStrict;
@SchemagenOption(opt=OPT.CONFIG_FILE)
public String getConfigFile() {
return configFile;
}
@SchemagenOption(opt=OPT.NO_COMMENTS)
public Boolean isNoComments() {
return noComments;
}
@SchemagenOption(opt=OPT.INPUT)
public String getInput() {
return input;
}
@SchemagenOption(opt=OPT.LANG_DAML)
public Boolean isLangDaml() {
return langDaml;
}
@SchemagenOption(opt=OPT.LANG_OWL)
public Boolean isLangOwl() {
return langOwl;
}
@SchemagenOption(opt=OPT.LANG_RDFS)
public Boolean isLangRdfs() {
return langRdfs;
}
@SchemagenOption(opt=OPT.OUTPUT)
public String getOutput() {
return output;
}
@SchemagenOption(opt=OPT.HEADER)
public String getHeader() {
return header;
}
@SchemagenOption(opt=OPT.FOOTER)
public String getFooter() {
return footer;
}
@SchemagenOption(opt=OPT.ROOT)
public String getRoot() {
return root;
}
@SchemagenOption(opt=OPT.MARKER)
public String getMarker() {
return marker;
}
@SchemagenOption(opt=OPT.PACKAGENAME)
public String getPackageName() {
return packageName;
}
@SchemagenOption(opt=OPT.ONTOLOGY)
public Boolean isOntology() {
return ontology;
}
@SchemagenOption(opt=OPT.CLASSNAME)
public String getClassName() {
return className;
}
@SchemagenOption(opt=OPT.CLASSDEC)
public String getClassDec() {
return classDec;
}
@SchemagenOption(opt=OPT.NAMESPACE)
public Resource getNamespace() {
return (namespace == null || namespace.isEmpty())? null : ResourceFactory.createResource(namespace);
}
@SchemagenOption(opt=OPT.DECLARATIONS)
public String getDeclarations() {
return declarations;
}
@SchemagenOption(opt=OPT.PROPERTY_SECTION)
public String getPropertySection() {
return propertySection;
}
@SchemagenOption(opt=OPT.CLASS_SECTION)
public String getClassSection() {
return classSection;
}
@SchemagenOption(opt=OPT.INDIVIDUALS_SECTION)
public String getIndividualsSection() {
return individualsSection;
}
@SchemagenOption(opt=OPT.DATATYPES_SECTION)
public String getDatatypesSection() {
return datatypesSection;
}
@SchemagenOption(opt=OPT.NOPROPERTIES)
public Boolean isNoProperties() {
return noProperties;
}
@SchemagenOption(opt=OPT.NOCLASSES)
public Boolean isNoClasses() {
return noClasses;
}
@SchemagenOption(opt=OPT.NOINDIVIDUALS)
public Boolean isNoIndividuals() {
return noIndividuals;
}
@SchemagenOption(opt=OPT.NODATATYPES)
public Boolean isNoDatatypes() {
return noDatatypes;
}
@SchemagenOption(opt=OPT.NOHEADER)
public Boolean isNoHeader() {
return noHeader;
}
@SchemagenOption(opt=OPT.PROP_TEMPLATE)
public String getPropTemplate() {
return propTemplate;
}
@SchemagenOption(opt=OPT.CLASS_TEMPLATE)
public String getClassTemplate() {
return classTemplate;
}
@SchemagenOption(opt=OPT.INDIVIDUAL_TEMPLATE)
public String getIndividualTemplate() {
return individualTemplate;
}
@SchemagenOption(opt=OPT.DATATYPE_TEMPLATE)
public String getDatatypeTemplate() {
return datatypeTemplate;
}
@SchemagenOption(opt=OPT.UC_NAMES)
public Boolean isUcNames() {
return ucNames;
}
@SchemagenOption(opt=OPT.INCLUDE)
public String getInclude() {
return include;
}
@SchemagenOption(opt=OPT.CLASSNAME_SUFFIX)
public String getClassNameSuffix() {
return classNameSuffix;
}
@SchemagenOption(opt=OPT.ENCODING)
public String getEncoding() {
return encoding;
}
@SchemagenOption(opt=OPT.HELP)
public Boolean isHelp() {
return help;
}
@SchemagenOption(opt=OPT.DOS)
public Boolean isDos() {
return dos;
}
@SchemagenOption(opt=OPT.USE_INF)
public Boolean isUseInf() {
return useInf;
}
@SchemagenOption(opt=OPT.STRICT_INDIVIDUALS)
public Boolean isStrictIndividuals() {
return strictIndividuals;
}
@SchemagenOption(opt=OPT.INCLUDE_SOURCE)
public Boolean isIncludeSource() {
return includeSource;
}
@SchemagenOption(opt=OPT.NO_STRICT)
public Boolean isNoStrict() {
return noStrict;
}
public void setConfigFile(String configFile) {
this.configFile = configFile;
}
public void setNoComments(Boolean noComments) {
this.noComments = noComments;
}
public void setInput(String input) {
this.input = input;
}
public void setLangDaml(Boolean langDaml) {
this.langDaml = langDaml;
}
public void setLangOwl(Boolean langOwl) {
this.langOwl = langOwl;
}
public void setLangRdfs(Boolean langRdfs) {
this.langRdfs = langRdfs;
}
public void setOutput(String output) {
this.output = output;
}
public void setHeader(String header) {
this.header = header;
}
public void setFooter(String footer) {
this.footer = footer;
}
public void setRoot(String root) {
this.root = root;
}
public void setMarker(String marker) {
this.marker = marker;
}
public void setPackageName(String packageName) {
this.packageName = packageName;
}
public void setOntology(Boolean ontology) {
this.ontology = ontology;
}
public void setClassName(String className) {
this.className = className;
}
public void setClassDec(String classDec) {
this.classDec = classDec;
}
public void setNamespace(String namespace) {
this.namespace = namespace;
}
public void setDeclarations(String declarations) {
this.declarations = declarations;
}
public void setPropertySection(String propertySection) {
this.propertySection = propertySection;
}
public void setClassSection(String classSection) {
this.classSection = classSection;
}
public void setIndividualsSection(String individualsSection) {
this.individualsSection = individualsSection;
}
public void setDatatypesSection(String datatypesSection) {
this.datatypesSection = datatypesSection;
}
public void setNoProperties(Boolean noProperties) {
this.noProperties = noProperties;
}
public void setNoClasses(Boolean noClasses) {
this.noClasses = noClasses;
}
public void setNoIndividuals(Boolean noIndividuals) {
this.noIndividuals = noIndividuals;
}
public void setNoDatatypes(Boolean noDatatypes) {
this.noDatatypes = noDatatypes;
}
public void setNoHeader(Boolean noHeader) {
this.noHeader = noHeader;
}
public void setPropTemplate(String propTemplate) {
this.propTemplate = propTemplate;
}
public void setClassTemplate(String classTemplate) {
this.classTemplate = classTemplate;
}
public void setIndividualTemplate(String individualTemplate) {
this.individualTemplate = individualTemplate;
}
public void setDatatypeTemplate(String datatypeTemplate) {
this.datatypeTemplate = datatypeTemplate;
}
public void setUcNames(Boolean ucNames) {
this.ucNames = ucNames;
}
public void setInclude(String include) {
this.include = include;
}
public void setClassNameSuffix(String classNameSuffix) {
this.classNameSuffix = classNameSuffix;
}
public void setEncoding(String encoding) {
this.encoding = encoding;
}
public void setHelp(Boolean help) {
this.help = help;
}
public void setDos(Boolean dos) {
this.dos = dos;
}
public void setUseInf(Boolean useInf) {
this.useInf = useInf;
}
public void setStrictIndividuals(Boolean strictIndividuals) {
this.strictIndividuals = strictIndividuals;
}
public void setIncludeSource(Boolean includeSource) {
this.includeSource = includeSource;
}
public void setNoStrict(Boolean noStrict) {
this.noStrict = noStrict;
}
/**
* Return true if this source actually represents the default options
* element
*
* @return True for the default options
*/
public boolean isDefaultOptions() {
return input.equals( DEFAULT_OPTIONS_ELEM );
}
}