org.jsonschema2pojo.DefaultGenerationConfig Maven / Gradle / Ivy
/**
* Copyright © 2010-2020 Nokia
*
* Licensed 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.jsonschema2pojo;
import java.io.File;
import java.io.FileFilter;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Collections;
import java.util.Iterator;
import java.util.Map;
import org.jsonschema2pojo.rules.RuleFactory;
import org.jsonschema2pojo.util.JavaVersion;
/**
* A generation config that returns default values for all behavioural options.
*/
public class DefaultGenerationConfig implements GenerationConfig {
/**
* @return false
*/
@Override
public boolean isGenerateBuilders() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeTypeInfo()
{
return false;
}
/**
* @return false
*/
@Override
public boolean isUsePrimitives() {
return false;
}
/**
* Unsupported since no default source is possible.
*/
@Override
public Iterator getSource() {
throw new UnsupportedOperationException("No default source available");
}
/**
* @return the current working directory
*/
@Override
public File getTargetDirectory() {
return new File(".");
}
/**
* @return the 'default' package (i.e. an empty string)
*/
@Override
public String getTargetPackage() {
return "";
}
/**
* @return an empty array (i.e. no word delimiters)
*/
@Override
public char[] getPropertyWordDelimiters() {
return new char[] { '-', ' ', '_' };
}
/**
* @return false
*/
@Override
public boolean isUseLongIntegers() {
return false;
}
/**
* @return true
*/
@Override
public boolean isUseDoubleNumbers() {
return true;
}
/**
* @return true
*/
@Override
public boolean isIncludeHashcodeAndEquals() {
return true;
}
/**
* @return true
*/
@Override
public boolean isIncludeToString() {
return true;
}
/**
* @return no exclusions
*/
@Override
public String[] getToStringExcludes() {
return new String[] {};
}
/**
* @return {@code false}
*/
@Override
public boolean isUseTitleAsClassname() {
return false;
}
/**
* @return {@link AnnotationStyle#JACKSON2}
*/
@Override
public AnnotationStyle getAnnotationStyle() {
return AnnotationStyle.JACKSON;
}
/**
* @return {@link InclusionLevel#NON_NULL}
*/
@Override
public InclusionLevel getInclusionLevel() {
return InclusionLevel.NON_NULL;
}
/**
* {@link NoopAnnotator}
*/
@Override
public Class extends Annotator> getCustomAnnotator() {
return NoopAnnotator.class;
}
@Override
public Class extends RuleFactory> getCustomRuleFactory() {
return RuleFactory.class;
}
/**
* @return false
*/
@Override
public boolean isIncludeJsr303Annotations() {
return false;
}
@Override
public boolean isIncludeJsr305Annotations() {
return false;
}
@Override
public boolean isUseOptionalForGetters() { return false; }
/**
* @return {@link SourceType#JSONSCHEMA}
*/
@Override
public SourceType getSourceType() {
return SourceType.JSONSCHEMA;
}
/**
* @return UTF-8
*/
@Override
public String getOutputEncoding() {
return StandardCharsets.UTF_8.toString();
}
/**
* @return false
*/
@Override
public boolean isRemoveOldOutput() {
return false;
}
/**
* @return false
*/
@Override
public boolean isUseJodaDates() {
return false;
}
/**
* @return false
*/
@Override
public boolean isUseJodaLocalDates() {
return false;
}
/**
* @return false
*/
@Override
public boolean isUseJodaLocalTimes() {
return false;
}
/**
* @return false
*/
@Override
public boolean isParcelable() {
return false;
}
/**
* @return false
*/
@Override
public boolean isSerializable() {
return false;
}
@Override
public FileFilter getFileFilter() {
return new AllFileFilter();
}
/**
* @return true
*/
@Override
public boolean isInitializeCollections() {
return true;
}
@Override
public String getClassNamePrefix() {
return "";
}
@Override
public String getClassNameSuffix() {
return "";
}
@Override
public String[] getFileExtensions() {
return new String[] {};
}
/**
* @return false
*/
@Override
public boolean isUseBigIntegers() {
return false;
}
/**
* @return false
*/
@Override
public boolean isUseBigDecimals() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeConstructors() {
return false;
}
/**
* @return false
*/
@Override
public boolean isConstructorsRequiredPropertiesOnly() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeRequiredPropertiesConstructor(){ return false; }
/**
* @return true
*/
@Override
public boolean isIncludeAllPropertiesConstructor() { return true; }
/**
* @return false
*/
@Override
public boolean isIncludeCopyConstructor() { return false; }
/**
* @return true
*/
@Override
public boolean isIncludeAdditionalProperties() {
return true;
}
/**
* @return true
*/
@Override
public boolean isIncludeGetters() {
return true;
}
/**
* @return true
*/
@Override
public boolean isIncludeSetters() {
return true;
}
/**
* @return Current JVM version
*/
@Override
public String getTargetVersion() {
return JavaVersion.parse(System.getProperty("java.version"));
}
/**
* @return false
*/
@Override
public boolean isIncludeDynamicAccessors() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeDynamicGetters() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeDynamicSetters() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeDynamicBuilders() {
return false;
}
@Override
public String getDateTimeType() {
return null;
}
@Override
public String getDateType() {
return null;
}
@Override
public String getTimeType() {
return null;
}
/**
* @return false
*/
@Override
public boolean isFormatDateTimes() {
return false;
}
/**
* @return false
*/
@Override
public boolean isFormatDates() {
return false;
}
/**
* @return false
*/
@Override
public boolean isFormatTimes() {
return false;
}
/**
* @return "#/."
*/
@Override
public String getRefFragmentPathDelimiters() {
return "#/.";
}
@Override
public String getCustomDatePattern() {
return null;
}
@Override
public String getCustomTimePattern() {
return null;
}
@Override
public String getCustomDateTimePattern() {
return null;
}
/**
* @return {@link SourceSortOrder#OS}
*/
@Override
public SourceSortOrder getSourceSortOrder() {
return SourceSortOrder.OS;
}
/**
* @return {@link Collections#emptyMap}
*/
@Override
public Map getFormatTypeMapping() {
return Collections.emptyMap();
}
/**
* @return false
*/
@Override
public boolean isUseInnerClassBuilders() { return false; }
/**
* @return false
*/
@Override
public boolean isIncludeConstructorPropertiesAnnotation() {
return false;
}
/**
* @return false
*/
@Override
public boolean isIncludeGeneratedAnnotation() {
return true;
}
/**
* @return {@code false}
*/
@Override
public boolean isUseJakartaValidation() {
return false;
}
@Override
public boolean isIncludeRequireNonNullOnRequiredFields() {
return false;
}
}