Package org.apache.juneau.jsonschema
Class JsonSchemaGenerator
java.lang.Object
org.apache.juneau.Context
org.apache.juneau.BeanContextable
org.apache.juneau.BeanTraverseContext
org.apache.juneau.jsonschema.JsonSchemaGenerator
- All Implemented Interfaces:
- AnnotationProvider,- JsonSchemaMetaProvider
Generates JSON-schema metadata about POJOs.
 
Notes:
- This class is thread safe and reusable.
See Also:
- 
Nested Class SummaryNested Classes
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final JsonSchemaGeneratorDefault serializer, all default settings.Fields inherited from class org.apache.juneau.ContextCONTEXT_APPLY_FILTERFields inherited from interface org.apache.juneau.AnnotationProviderDISABLE_ANNOTATION_CACHING
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptioncopy()Creates a builder from this context object.static JsonSchemaGenerator.Buildercreate()Creates a new builder for this object.Create a session builder based on the properties defined on this context.protected final Set<TypeCategory>Add descriptions to types.protected final Set<TypeCategory>Add examples.protected final BeanDefMapperBean schema definition mapper.Ignore types from schema definitions.Returns the language-specific metadata on the specified bean property.getJsonSchemaClassMeta(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.Returns a session to use for this context.protected final booleanAllow nested descriptions.protected final booleanAllow nested examples.booleanisIgnoredType(ClassMeta<?> cm) Returnstrue if the specified type is ignored.protected final booleanUse bean definitions.protected JsonMapReturns the properties on this bean as a map for debugging.Methods inherited from class org.apache.juneau.BeanTraverseContextgetInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursionsMethods inherited from class org.apache.juneau.BeanContextablegetBeanContextMethods inherited from class org.apache.juneau.ContextcreateBuilder, firstAnnotation, firstAnnotation, firstAnnotation, firstAnnotation, firstDeclaredAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachDeclaredAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, init, isDebug, lastAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastDeclaredAnnotation, toStringMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.juneau.AnnotationProviderfirstAnnotation, firstAnnotation, firstAnnotation, firstAnnotation, firstDeclaredAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachDeclaredAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastDeclaredAnnotation
- 
Field Details- 
DEFAULTDefault serializer, all default settings.
 
- 
- 
Constructor Details- 
JsonSchemaGeneratorConstructor.- Parameters:
- builder- The builder for this object.
 
 
- 
- 
Method Details- 
createCreates a new builder for this object.- Returns:
- A new builder.
 
- 
copyDescription copied from class:ContextCreates a builder from this context object.Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations. - Specified by:
- copyin class- BeanTraverseContext
- Returns:
- A new Builder object.
 
- 
createSessionDescription copied from class:ContextCreate a session builder based on the properties defined on this context.Use this method for creating sessions where you want to override basic settings. Otherwise, use Context.getSession()directly.- Overrides:
- createSessionin class- Context
- Returns:
- A new session builder.
 
- 
getSessionDescription copied from class:ContextReturns a session to use for this context.Note that subclasses may opt to return a reusable non-modifiable session. - Overrides:
- getSessionin class- Context
- Returns:
- A new session object.
 
- 
getAddDescriptionsToAdd descriptions to types.- Returns:
- Set of categories of types that descriptions should be automatically added to generated schemas.
- See Also:
 
- 
getAddExamplesToAdd examples.- Returns:
- Set of categories of types that examples should be automatically added to generated schemas.
- See Also:
 
- 
isAllowNestedDescriptionsAllow nested descriptions.- Returns:
- true if nested descriptions are allowed in schema definitions.
- See Also:
 
- 
isAllowNestedExamplesAllow nested examples.- Returns:
- true if nested examples are allowed in schema definitions.
- See Also:
 
- 
getBeanDefMapperBean schema definition mapper.- Returns:
- Interface to use for converting Bean classes to definition IDs and URIs.
- See Also:
 
- 
getIgnoreTypesIgnore types from schema definitions.- Returns:
- Custom schema information for particular class types.
- See Also:
 
- 
isUseBeanDefsUse bean definitions.- Returns:
- true if schemas on beans will be serialized with- '$ref' tags.
- See Also:
 
- 
getJsonSchemaClassMetaDescription copied from interface:JsonSchemaMetaProviderReturns the language-specific metadata on the specified class.- Specified by:
- getJsonSchemaClassMetain interface- JsonSchemaMetaProvider
- Parameters:
- cm- The class to return the metadata on.
- Returns:
- The metadata.
 
- 
getJsonSchemaBeanPropertyMetaDescription copied from interface:JsonSchemaMetaProviderReturns the language-specific metadata on the specified bean property.- Specified by:
- getJsonSchemaBeanPropertyMetain interface- JsonSchemaMetaProvider
- Parameters:
- bpm- The bean property to return the metadata on.
- Returns:
- The metadata.
 
- 
isIgnoredTypeReturnstrue if the specified type is ignored.The type is ignored if it's specified in the JsonSchemaGenerator.Builder.ignoreTypes(String...)setting.
 Ignored types returnnull on the call toJsonSchemaGeneratorSession.getSchema(ClassMeta).- Parameters:
- cm- The type to check.
- Returns:
- true if the specified type is ignored.
 
- 
propertiesDescription copied from class:ContextReturns the properties on this bean as a map for debugging.- Overrides:
- propertiesin class- BeanTraverseContext
- Returns:
- The properties on this bean as a map for debugging.
 
 
-