Class UrlEncodingSerializer
- All Implemented Interfaces:
AnnotationProvider
,HttpPartSerializer
,UonMetaProvider
,UrlEncodingMetaProvider
- Direct Known Subclasses:
UrlEncodingSerializer.Expanded
,UrlEncodingSerializer.PlainText
,UrlEncodingSerializer.Readable
Media types:
Handles
Produces
Description
This serializer provides several serialization options.Typically, one of the predefined DEFAULT serializers will be sufficient.
However, custom serializers can be constructed to fine-tune behavior.
The following shows a sample object defined in Javascript:
{
id: 1,
name:
Using the "strict" syntax defined in this document, the equivalent URL-encoded notation would be as follows:
Example:
Notes:
- This class is thread safe and reusable.
See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder class.static class
Equivalent toUrlEncodingSerializer.
.create ().expandedParams().build();static class
Equivalent toUrlEncodingSerializer.
.create ().plainTextParts().build();static class
Equivalent toUrlEncodingSerializer.
.create ().useWhitespace().build();Nested classes/interfaces inherited from class org.apache.juneau.uon.UonSerializer
UonSerializer.Encoding
Nested classes/interfaces inherited from class org.apache.juneau.serializer.Serializer
Serializer.Null
Nested classes/interfaces inherited from interface org.apache.juneau.httppart.HttpPartSerializer
HttpPartSerializer.Creator, HttpPartSerializer.Void
-
Field Summary
Modifier and TypeFieldDescriptionstatic final UrlEncodingSerializer
Reusable instance ofUrlEncodingSerializer
, all default settings.static final UrlEncodingSerializer
Reusable instance ofUrlEncodingSerializer.Expanded
.static final UrlEncodingSerializer
Reusable instance ofUrlEncodingSerializer.PlainText
.static final UrlEncodingSerializer
Reusable instance ofUrlEncodingSerializer.Readable
.Fields inherited from class org.apache.juneau.uon.UonSerializer
DEFAULT_ENCODING
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.create()
Creates a new builder for this object.Create a session builder based on the properties defined on this context.Returns a session to use for this context.Returns the language-specific metadata on the specified bean property.getUrlEncodingClassMeta
(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.protected final boolean
Serialize bean property collections/arrays as separate key/value pairs.protected JsonMap
Returns the properties on this bean as a map for debugging.Methods inherited from class org.apache.juneau.uon.UonSerializer
getParamFormat, getPartSession, getQuoteChar, getUonBeanPropertyMeta, getUonClassMeta, isAddBeanTypes, isEncoding, serialize
Methods inherited from class org.apache.juneau.serializer.WriterSerializer
getFileCharset, getMaxIndent, 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
Reusable instance ofUrlEncodingSerializer
, all default settings. -
DEFAULT_PLAINTEXT
Reusable instance ofUrlEncodingSerializer.PlainText
. -
DEFAULT_EXPANDED
Reusable instance ofUrlEncodingSerializer.Expanded
. -
DEFAULT_READABLE
Reusable instance ofUrlEncodingSerializer.Readable
.
-
-
Constructor Details
-
UrlEncodingSerializer
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 classUonSerializer
- 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 classUonSerializer
- 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 classUonSerializer
- Returns:
- A new session object.
-
getUrlEncodingClassMeta
Description copied from interface:UrlEncodingMetaProvider
Returns the language-specific metadata on the specified class.- Specified by:
getUrlEncodingClassMeta
in interfaceUrlEncodingMetaProvider
- Parameters:
cm
- The class to return the metadata on.- Returns:
- The metadata.
-
getUrlEncodingBeanPropertyMeta
Description copied from interface:UrlEncodingMetaProvider
Returns the language-specific metadata on the specified bean property.- Specified by:
getUrlEncodingBeanPropertyMeta
in interfaceUrlEncodingMetaProvider
- Parameters:
bpm
- The bean property to return the metadata on.- Returns:
- The metadata.
-
isExpandedParams
Serialize bean property collections/arrays as separate key/value pairs.- Returns:
false if serializing the array[1,2,3] results in?key=$a(1,2,3) .true if serializing the same array results in?key=1&key=2&key=3 .- See Also:
-
properties
Description copied from class:Context
Returns the properties on this bean as a map for debugging.- Overrides:
properties
in classUonSerializer
- Returns:
- The properties on this bean as a map for debugging.
-