@ConfigurableContext public class UonSerializer extends WriterSerializer implements HttpPartSerializer, UonMetaProvider, UonCommon
Produces
The following shows a sample object defined in Javascript:
{
id: 1,
name:
Using the "strict" syntax defined in this document, the equivalent UON notation would be as follows:
(
Modifier and Type | Class and Description |
---|---|
static class |
UonSerializer.Encoding
Equivalent to
UonSerializer. . |
static class |
UonSerializer.Readable
Equivalent to
UonSerializer. . |
Serializer.Null
HttpPartSerializer.Null
Modifier and Type | Field and Description |
---|---|
static UonSerializer |
DEFAULT
Reusable instance of
UonSerializer , all default settings. |
static UonSerializer |
DEFAULT_ENCODING
Reusable instance of
UonSerializer.Encoding . |
static UonSerializer |
DEFAULT_READABLE
Reusable instance of
UonSerializer.Readable . |
static String |
UON_addBeanTypes
Configuration property: Add
|
static String |
UON_encoding
Configuration property: Encode non-valid URI characters.
|
static String |
UON_paramFormat
Configuration property: Format to use for query/form-data/header values.
|
WSERIALIZER_fileCharset, WSERIALIZER_maxIndent, WSERIALIZER_quoteChar, WSERIALIZER_streamCharset, WSERIALIZER_useWhitespace
SERIALIZER_addBeanTypes, SERIALIZER_addRootType, SERIALIZER_keepNullProperties, SERIALIZER_listener, SERIALIZER_sortCollections, SERIALIZER_sortMaps, SERIALIZER_trimEmptyCollections, SERIALIZER_trimEmptyMaps, SERIALIZER_trimNullProperties, SERIALIZER_trimStrings, SERIALIZER_uriContext, SERIALIZER_uriRelativity, SERIALIZER_uriResolution
BEANTRAVERSE_detectRecursions, BEANTRAVERSE_ignoreRecursions, BEANTRAVERSE_initialDepth, BEANTRAVERSE_maxDepth
BEAN_annotations, BEAN_beanClassVisibility, BEAN_beanConstructorVisibility, BEAN_beanDictionary, BEAN_beanDictionary_add, BEAN_beanDictionary_remove, BEAN_beanFieldVisibility, BEAN_beanFilters, BEAN_beanFilters_add, BEAN_beanFilters_remove, BEAN_beanMapPutReturnsOldValue, BEAN_beanMethodVisibility, BEAN_beansRequireDefaultConstructor, BEAN_beansRequireSerializable, BEAN_beansRequireSettersForGetters, BEAN_beansRequireSomeProperties, BEAN_bpi, BEAN_bpro, BEAN_bpwo, BEAN_bpx, BEAN_examples, BEAN_excludeProperties, BEAN_fluentSetters, BEAN_ignoreInvocationExceptionsOnGetters, BEAN_ignoreInvocationExceptionsOnSetters, BEAN_ignorePropertiesWithoutSetters, BEAN_ignoreTransientFields, BEAN_ignoreUnknownBeanProperties, BEAN_ignoreUnknownNullBeanProperties, BEAN_implClasses, BEAN_includeProperties, BEAN_notBeanClasses, BEAN_notBeanClasses_add, BEAN_notBeanClasses_remove, BEAN_notBeanPackages, BEAN_notBeanPackages_add, BEAN_notBeanPackages_remove, BEAN_pojoSwaps, BEAN_pojoSwaps_add, BEAN_pojoSwaps_remove, BEAN_propertyNamer, BEAN_sortProperties, BEAN_swaps, BEAN_swaps_add, BEAN_swaps_remove, BEAN_typePropertyName, BEAN_useEnumNames, BEAN_useInterfaceProxies, BEAN_useJavaBeanIntrospector, DEFAULT_SORTED
CONTEXT_debug, CONTEXT_locale, CONTEXT_mediaType, CONTEXT_timeZone
Constructor and Description |
---|
UonSerializer()
No-arg constructor.
|
UonSerializer(PropertyStore ps)
Constructor.
|
UonSerializer(PropertyStore ps,
String produces,
String accept)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
UonSerializerBuilder |
builder()
Creates a builder from this context object.
|
static UonSerializerBuilder |
create()
Instantiates a new clean-slate
UonSerializerBuilder object. |
UonSerializerSession |
createPartSession(SerializerSessionArgs args)
Creates a new serializer session.
|
UonSerializerSession |
createSession()
Create a new bean session based on the properties defined on this context.
|
UonSerializerSession |
createSession(SerializerSessionArgs args)
Create the session object used for actual serialization of objects.
|
protected ParamFormat |
getParamFormat()
Format to use for query/form-data/header values.
|
protected char |
getQuoteChar()
Quote character.
|
UonBeanPropertyMeta |
getUonBeanPropertyMeta(BeanPropertyMeta bpm)
Returns the language-specific metadata on the specified bean property.
|
UonClassMeta |
getUonClassMeta(ClassMeta<?> cm)
Returns the language-specific metadata on the specified class.
|
protected boolean |
isAddBeanTypes()
Add
|
protected boolean |
isEncoding()
Encode non-valid URI characters.
|
String |
serialize(HttpPartType partType,
HttpPartSchema schema,
Object value)
Converts the specified value to a string that can be used as an HTTP header value, query parameter value,
form-data parameter, or URI path variable.
|
OMap |
toMap()
Returns the properties defined on this bean context as a simple map for debugging purposes.
|
getFileCharset, getMaxIndent, getStreamCharset, isUseWhitespace, isWriterSerializer, println, serialize, toString, toStringObject
createDefaultSessionArgs, getAcceptMediaTypes, getListener, getMediaTypeRanges, getPrimaryMediaType, getResponseContentType, getUriContext, getUriRelativity, getUriResolution, isAddRootType, isKeepNullProperties, isSortCollections, isSortMaps, isTrimEmptyCollections, isTrimEmptyMaps, isTrimStrings, serialize, serializeToString
createSession, getInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursions
_class, createBeanSession, createBeanSession, createDefaultBeanSessionArgs, createSession, dumpCacheStats, getAnnotations, getAnnotations, getAnnotations, getAnnotations, getAnnotations, getAnnotations, getAnnotations, getAnnotations, getBeanClassVisibility, getBeanConstructorVisibility, getBeanDictionaryClasses, getBeanFieldVisibility, getBeanFilters, getBeanMeta, getBeanMethodVisibility, getBeanRegistry, getBeanToStringSerializer, getBeanTypePropertyName, getBpi, getBpi, getBpro, getBpro, getBpwo, getBpwo, getBpx, getBpx, getClassMeta, getClassMeta, getClassMetaForObject, getDeclaredAnnotations, getDeclaredAnnotations, getExamples, getImplClassConstructor, getImplClasses, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastAnnotation, getLastDeclaredAnnotation, getLastDeclaredAnnotation, getNotBeanClasses, getNotBeanPackagesNames, getNotBeanPackagesPrefixes, getPropertyNamer, getSwaps, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasSameCache, isBean, isBeanMapPutReturnsOldValue, isBeansRequireDefaultConstructor, isBeansRequireSerializable, isBeansRequireSettersForGetters, isBeansRequireSomeProperties, isFluentSetters, isIgnoreInvocationExceptionsOnGetters, isIgnoreInvocationExceptionsOnSetters, isIgnorePropertiesWithoutSetters, isIgnoreTransientFields, isIgnoreUnknownBeanProperties, isIgnoreUnknownNullBeanProperties, isNotABean, isSortProperties, isUseEnumNames, isUseInterfaceProxies, isUseJavaBeanIntrospector, object, resolveClassMeta, string
equals, getArrayProperty, getArrayProperty, getBooleanProperty, getCdlProperty, getClassArrayProperty, getClassArrayProperty, getClassArrayProperty, getClassListProperty, getClassListProperty, getClassMapProperty, getClassMapProperty, getClassProperty, getClassSetProperty, getClassSetProperty, getDefaultLocale, getDefaultMediaType, getDefaultTimeZone, getInstanceArrayProperty, getInstanceArrayProperty, getInstanceArrayProperty, getInstanceProperty, getInstanceProperty, getInstanceProperty, getIntegerProperty, getListProperty, getListProperty, getLongProperty, getMapProperty, getProperty, getProperty, getPropertyKeys, getPropertyStore, getSetProperty, getSetProperty, getStringProperty, getStringPropertyWithNone, hashCode, identityCode, isDebug, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getAnnotations, getAnnotations, getAnnotations, getAnnotations, getDeclaredAnnotations
public static final String UON_addBeanTypes
UON_addBeanTypes
If
When present, this value overrides the Serializer.SERIALIZER_addBeanTypes
setting and is
provided to customize the behavior of specific serializers in a SerializerGroup
.
public static final String UON_encoding
UON_encoding
UonSerializer
, UrlEncodingSerializer
Encode non-valid URI characters with
If
Set to
public static final String UON_paramFormat
UON_paramFormat
ParamFormat
Specifies the format to use for URL GET parameter keys and values.
Possible values:
ParamFormat.UON
(default) - Use UON notation for parameters.
ParamFormat.PLAINTEXT
- Use plain text for parameters.
public static final UonSerializer DEFAULT
UonSerializer
, all default settings.public static final UonSerializer DEFAULT_READABLE
UonSerializer.Readable
.public static final UonSerializer DEFAULT_ENCODING
UonSerializer.Encoding
.public UonSerializer(PropertyStore ps)
ps
- The property store containing all the settings for this object.public UonSerializer()
public UonSerializer(PropertyStore ps, String produces, String accept)
ps
- The property store containing all the settings for this object.produces
- The media type that this serializer produces.accept
- The accept media types that the serializer can handle.
Can contain meta-characters per the
If empty, then assumes the only media type supported is
For example, if this serializer produces
The accept value can also contain q-values.
public String serialize(HttpPartType partType, HttpPartSchema schema, Object value) throws SchemaValidationException, SerializeException
Returned values should NOT be URL-encoded.
partType
- The category of value being serialized.schema
- Schema information about the part.
value
- The value being serialized.SerializeException
- If a problem occurred while trying to parse the input.SchemaValidationException
- If the output fails schema validation.public UonSerializerBuilder builder()
Context
Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations.
builder
in class Serializer
public static UonSerializerBuilder create()
UonSerializerBuilder
object.
This is equivalent to simply calling
.
Note that this method creates a builder initialized to all default settings, whereas builder()
copies
the settings of the object called on.
UonSerializerBuilder
object.public UonSerializerSession createSession()
BeanContext
Use this method for creating sessions if you don't need to override any properties or locale/timezone currently set on this context.
createSession
in class WriterSerializer
public UonSerializerSession createSession(SerializerSessionArgs args)
Serializer
createSession
in class WriterSerializer
args
- Runtime arguments.
These specify session-level information such as locale and URI context.
It also include session-level properties that override the properties defined on the bean and serializer
contexts.public UonSerializerSession createPartSession(SerializerSessionArgs args)
HttpPartSerializer
createPartSession
in interface HttpPartSerializer
args
- The runtime arguments for the session.public UonClassMeta getUonClassMeta(ClassMeta<?> cm)
UonMetaProvider
getUonClassMeta
in interface UonMetaProvider
cm
- The class to return the metadata on.public UonBeanPropertyMeta getUonBeanPropertyMeta(BeanPropertyMeta bpm)
UonMetaProvider
getUonBeanPropertyMeta
in interface UonMetaProvider
bpm
- The bean property to return the metadata on.protected final boolean isAddBeanTypes()
isAddBeanTypes
in class Serializer
UON_addBeanTypes
protected final boolean isEncoding()
UON_encoding
protected final ParamFormat getParamFormat()
UON_paramFormat
protected final char getQuoteChar()
getQuoteChar
in class WriterSerializer
WriterSerializer.WSERIALIZER_quoteChar
public OMap toMap()
Context
toMap
in class WriterSerializer
Copyright © 2016–2020 The Apache Software Foundation. All rights reserved.