Package org.apache.juneau.json
Class JsonSchemaSerializer
- All Implemented Interfaces:
AnnotationProvider
,JsonMetaProvider
,JsonSchemaMetaProvider
- Direct Known Subclasses:
JsonSchemaSerializer.Readable
,JsonSchemaSerializer.Simple
,JsonSchemaSerializer.SimpleReadable
Serializes POJO metadata to HTTP responses as JSON-Schema.
Accept types: application/json+schema, text/json+schema
Media types
Handles
Produces
Description
Produces the JSON-schema for the JSON produced by theJsonSerializer
class with the same properties.
Notes:
- This class is thread safe and reusable.
See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder class.static class
Default serializer, with whitespace.static class
Default serializer, single quotes, simple mode.static class
Default serializer, single quotes, simple mode, with whitespace.Nested classes/interfaces inherited from class org.apache.juneau.json.JsonSerializer
JsonSerializer.ReadableSafe
Nested classes/interfaces inherited from class org.apache.juneau.serializer.Serializer
Serializer.Null
-
Field Summary
Modifier and TypeFieldDescriptionstatic final JsonSchemaSerializer
Default serializer, all default settings.static final JsonSchemaSerializer
Default serializer, all default settings.static final JsonSchemaSerializer
Default serializer, single quotes, simple mode.static final JsonSchemaSerializer
Default serializer, single quotes, simple mode, with whitespace.Fields inherited from class org.apache.juneau.Context
CONTEXT_APPLY_FILTER
Fields inherited from interface org.apache.juneau.AnnotationProvider
DISABLE_ANNOTATION_CACHING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncopy()
Creates a builder from this context object.static JsonSchemaSerializer.Builder
create()
Creates a new builder for this object.Create a session builder based on the properties defined on this context.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 JsonMap
Returns the properties on this bean as a map for debugging.Methods inherited from class org.apache.juneau.json.JsonSerializer
getJsonBeanPropertyMeta, getJsonClassMeta, getSchemaSerializer, isAddBeanTypes, isEscapeSolidus, isSimpleAttrs
Methods inherited from class org.apache.juneau.serializer.WriterSerializer
getFileCharset, getMaxIndent, getQuoteChar, getStreamCharset, isUseWhitespace, isWriterSerializer, println, quoteChar, serialize, toString
Methods inherited from class org.apache.juneau.serializer.Serializer
createSerializerBuilder, doSerialize, forEachAcceptMediaType, getListener, getMediaTypeRanges, getPrimaryMediaType, getResponseContentType, getResponseHeaders, getUriContext, getUriRelativity, getUriResolution, isAddRootType, isKeepNullProperties, isSortCollections, isSortMaps, isTrimEmptyCollections, isTrimEmptyMaps, isTrimStrings, serialize, serializeToString
Methods inherited from class org.apache.juneau.BeanTraverseContext
getInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursions
Methods inherited from class org.apache.juneau.BeanContextable
getBeanContext
Methods inherited from class org.apache.juneau.Context
createBuilder, firstAnnotation, firstAnnotation, firstAnnotation, firstAnnotation, firstDeclaredAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachDeclaredAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, init, isDebug, lastAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastDeclaredAnnotation, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.juneau.AnnotationProvider
firstAnnotation, firstAnnotation, firstAnnotation, firstAnnotation, firstDeclaredAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachAnnotation, forEachDeclaredAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastAnnotation, lastDeclaredAnnotation
-
Field Details
-
DEFAULT
Default serializer, all default settings. -
DEFAULT_READABLE
Default serializer, all default settings. -
DEFAULT_SIMPLE
Default serializer, single quotes, simple mode. -
DEFAULT_SIMPLE_READABLE
Default serializer, single quotes, simple mode, with whitespace.
-
-
Constructor Details
-
JsonSchemaSerializer
Constructor.- Parameters:
builder
- The builder for this object.
-
-
Method Details
-
create
Creates a new builder for this object.- Returns:
- A new builder.
-
copy
Description copied from class:Context
Creates a builder from this context object.Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations.
- Overrides:
copy
in classJsonSerializer
- Returns:
- A new Builder object.
-
createSession
Description copied from class:Context
Create 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:
createSession
in classJsonSerializer
- Returns:
- A new session builder.
-
getSession
Description copied from class:Context
Returns a session to use for this context.Note that subclasses may opt to return a reusable non-modifiable session.
- Overrides:
getSession
in classJsonSerializer
- Returns:
- A new session object.
-
getJsonSchemaClassMeta
Description copied from interface:JsonSchemaMetaProvider
Returns the language-specific metadata on the specified class.- Specified by:
getJsonSchemaClassMeta
in interfaceJsonSchemaMetaProvider
- Parameters:
cm
- The class to return the metadata on.- Returns:
- The metadata.
-
getJsonSchemaBeanPropertyMeta
Description copied from interface:JsonSchemaMetaProvider
Returns the language-specific metadata on the specified bean property.- Specified by:
getJsonSchemaBeanPropertyMeta
in interfaceJsonSchemaMetaProvider
- Parameters:
bpm
- The bean property to return the metadata on.- Returns:
- The metadata.
-
properties
Description copied from class:Context
Returns the properties on this bean as a map for debugging.- Overrides:
properties
in classJsonSerializer
- Returns:
- The properties on this bean as a map for debugging.
-