Class PojoGenerator
- java.lang.Object
-
- org.apache.johnzon.jsonschema.generator.PojoGenerator
-
public class PojoGenerator extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classPojoGenerator.Attributestatic classPojoGenerator.PojoConfigurationstatic classPojoGenerator.Ref
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<PojoGenerator.Attribute>attributesprivate PojoGenerator.PojoConfigurationconfigurationprotected java.util.Set<java.lang.String>importsprivate booleanisEnumprotected java.util.Map<java.lang.String,java.lang.String>nested
-
Constructor Summary
Constructors Constructor Description PojoGenerator(PojoGenerator.PojoConfiguration configuration)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.lang.StringafterClassName()protected java.lang.StringafterEnumName(java.util.Map<java.lang.String,java.lang.String> values, boolean valuesAreInjected)protected java.lang.StringasType(java.lang.String javaName, javax.json.JsonObject schema, boolean required)protected java.lang.StringbeforeClassDeclaration()protected java.lang.StringbeforeClassEnd()protected java.lang.StringbeforeEnumDeclaration()protected java.lang.StringbeforeEnumEnd()private voiddoEnum(javax.json.JsonValue enumList, java.lang.String className)protected java.lang.StringenumImports()protected java.lang.StringenumName(java.lang.String javaName, javax.json.JsonObject schema)java.util.Map<java.lang.String,java.lang.String>generate()private static <T> TgetValueAs(javax.json.JsonObject schema, java.lang.String attribute, java.lang.Class<T> type)protected booleanisReserved(java.lang.String name)protected PojoGeneratornewSubPojoGenerator(PojoGenerator.PojoConfiguration pojoConfiguration, javax.json.JsonObject schema)protected java.lang.StringonEnum(java.lang.String javaName, javax.json.JsonValue enumList, javax.json.JsonObject schema)protected java.lang.StringonItemSchema(java.lang.String javaName, javax.json.JsonObject schema)protected java.lang.StringonObjectAttribute(java.lang.String javaName, javax.json.JsonObject schema)protected java.lang.StringonRef(PojoGenerator.Ref ref)PojoGeneratorsetNested(java.util.Map<java.lang.String,java.lang.String> nested)protected java.lang.StringtoCamelCase(java.lang.String name)protected java.lang.StringtoJavaName(java.lang.String key)private static <T> TvalueAs(javax.json.JsonObject schema, java.lang.Class<T> type, javax.json.JsonValue value)PojoGeneratorvisitSchema(javax.json.JsonObject schema)
-
-
-
Field Detail
-
configuration
private final PojoGenerator.PojoConfiguration configuration
-
imports
protected final java.util.Set<java.lang.String> imports
-
attributes
protected final java.util.List<PojoGenerator.Attribute> attributes
-
nested
protected final java.util.Map<java.lang.String,java.lang.String> nested
-
isEnum
private boolean isEnum
-
-
Constructor Detail
-
PojoGenerator
public PojoGenerator(PojoGenerator.PojoConfiguration configuration)
-
-
Method Detail
-
setNested
public PojoGenerator setNested(java.util.Map<java.lang.String,java.lang.String> nested)
-
generate
public java.util.Map<java.lang.String,java.lang.String> generate()
-
visitSchema
public PojoGenerator visitSchema(javax.json.JsonObject schema)
-
onRef
protected java.lang.String onRef(PojoGenerator.Ref ref)
- Parameters:
ref- the reference to resolve.- Returns:
- the reference class name if resolved else null.
-
beforeEnumEnd
protected java.lang.String beforeEnumEnd()
-
beforeClassEnd
protected java.lang.String beforeClassEnd()
-
afterClassName
protected java.lang.String afterClassName()
-
afterEnumName
protected java.lang.String afterEnumName(java.util.Map<java.lang.String,java.lang.String> values, boolean valuesAreInjected)- Parameters:
values- the enum values (key is json name, value is java name).valuesAreInjected- is there a toString() with json name or is the enum anemic (only values, no method)- Returns:
- the data to add after enum name and before the opening brace in enum declaration.
-
enumImports
protected java.lang.String enumImports()
-
beforeEnumDeclaration
protected java.lang.String beforeEnumDeclaration()
-
beforeClassDeclaration
protected java.lang.String beforeClassDeclaration()
-
asType
protected java.lang.String asType(java.lang.String javaName, javax.json.JsonObject schema, boolean required)
-
onEnum
protected java.lang.String onEnum(java.lang.String javaName, javax.json.JsonValue enumList, javax.json.JsonObject schema)
-
doEnum
private void doEnum(javax.json.JsonValue enumList, java.lang.String className)
-
enumName
protected java.lang.String enumName(java.lang.String javaName, javax.json.JsonObject schema)
-
onObjectAttribute
protected java.lang.String onObjectAttribute(java.lang.String javaName, javax.json.JsonObject schema)
-
newSubPojoGenerator
protected PojoGenerator newSubPojoGenerator(PojoGenerator.PojoConfiguration pojoConfiguration, javax.json.JsonObject schema)
-
onItemSchema
protected java.lang.String onItemSchema(java.lang.String javaName, javax.json.JsonObject schema)
-
toJavaName
protected java.lang.String toJavaName(java.lang.String key)
-
toCamelCase
protected java.lang.String toCamelCase(java.lang.String name)
-
isReserved
protected boolean isReserved(java.lang.String name)
-
getValueAs
private static <T> T getValueAs(javax.json.JsonObject schema, java.lang.String attribute, java.lang.Class<T> type)
-
valueAs
private static <T> T valueAs(javax.json.JsonObject schema, java.lang.Class<T> type, javax.json.JsonValue value)
-
-