Class HtmlSerializer
- All Implemented Interfaces:
AnnotationProvider
,HtmlMetaProvider
,XmlMetaProvider
- Direct Known Subclasses:
HtmlSchemaSerializer
,HtmlSerializer.Sq
,HtmlSerializer.SqReadable
,HtmlStrippedDocSerializer
Media types
Handles
Produces
Description
The conversion is as follows...
-
Maps
(e.g.HashMap
,TreeMap
) and beans are converted to HTML tables with 'key' and 'value' columns. -
Collections
(e.g.HashSet
,LinkedList
) and Java arrays are converted to HTML ordered lists. -
Collections
ofMaps
and beans are converted to HTML tables with keys as headers. - Everything else is converted to text.
This serializer provides several serialization options. Typically, one of the predefined
The HtmlLink
annotation can be used on beans to add hyperlinks to the output.
Behavior-specific subclasses
The following direct subclasses are provided for convenience:
-
HtmlSerializer.Sq
- Default serializer, single quotes. -
HtmlSerializer.SqReadable
- Default serializer, single quotes, whitespace added.
Example:
Notes:
- This class is thread safe and reusable.
See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder class.static class
Default serializer, single quotes.static class
Default serializer, single quotes, whitespace added.Nested classes/interfaces inherited from class org.apache.juneau.xml.XmlSerializer
XmlSerializer.Ns, XmlSerializer.NsSq, XmlSerializer.NsSqReadable
Nested classes/interfaces inherited from class org.apache.juneau.serializer.Serializer
Serializer.Null
-
Field Summary
Modifier and TypeFieldDescriptionstatic final HtmlSerializer
Default serializer, all default settings.static final HtmlSerializer
Default serializer, single quotes.static final HtmlSerializer
Default serializer, single quotes, whitespace added.Fields inherited from class org.apache.juneau.xml.XmlSerializer
DEFAULT_JUNEAU_NAMESPACE, DEFAULT_NS, DEFAULT_NS_SQ, DEFAULT_NS_SQ_READABLE, DEFAULT_XS_NAMESPACE
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 HtmlSerializer.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.getHtmlClassMeta
(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.protected final String
Link label parameter name.Returns the schema serializer.Returns a session to use for this context.protected final AnchorText
Anchor text source.protected final boolean
Add"_type" properties when needed.protected final boolean
Add key/value headers on bean/map tables.protected final boolean
Look for link labels in URIs.protected final boolean
Look for URLs inStrings
.protected JsonMap
Returns the properties on this bean as a map for debugging.Methods inherited from class org.apache.juneau.xml.XmlSerializer
getDefaultNamespace, getNamespaces, getXmlBeanMeta, getXmlBeanPropertyMeta, getXmlClassMeta, isAddNamespaceUrlsToRoot, isAutoDetectNamespaces, isEnableNamespaces
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_SQ
Default serializer, single quotes. -
DEFAULT_SQ_READABLE
Default serializer, single quotes, whitespace added.
-
-
Constructor Details
-
HtmlSerializer
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 classXmlSerializer
- 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 classXmlSerializer
- 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 classXmlSerializer
- Returns:
- A new session object.
-
getSchemaSerializer
Returns the schema serializer.- Returns:
- The schema serializer.
-
getHtmlClassMeta
Description copied from interface:HtmlMetaProvider
Returns the language-specific metadata on the specified class.- Specified by:
getHtmlClassMeta
in interfaceHtmlMetaProvider
- Parameters:
cm
- The class to return the metadata on.- Returns:
- The metadata.
-
getHtmlBeanPropertyMeta
Description copied from interface:HtmlMetaProvider
Returns the language-specific metadata on the specified bean property.- Specified by:
getHtmlBeanPropertyMeta
in interfaceHtmlMetaProvider
- Parameters:
bpm
- The bean property to return the metadata on.- Returns:
- The metadata.
-
isAddBeanTypes
Add"_type" properties when needed.- Overrides:
isAddBeanTypes
in classXmlSerializer
- Returns:
true if"_type" properties will be added to beans if their type cannot be inferred through reflection.- See Also:
-
isAddKeyValueTableHeaders
Add key/value headers on bean/map tables.- Returns:
true ifkey andvalue column headers are added to tables.- See Also:
-
isDetectLabelParameters
Look for link labels in URIs.- Returns:
true if we should look for URL label parameters (e.g."?label=foobar" ).- See Also:
-
isDetectLinksInStrings
Look for URLs inStrings
.- Returns:
true if we should automatically convert strings to URLs if they look like a URL.- See Also:
-
getLabelParameter
Link label parameter name.- Returns:
- The parameter name to look for when resolving link labels.
- See Also:
-
getUriAnchorText
Anchor text source.- Returns:
- When creating anchor tags (e.g.
) in HTML, this setting defines what to set the inner text to.<a href ='...' > text</a> - See Also:
-
properties
Description copied from class:Context
Returns the properties on this bean as a map for debugging.- Overrides:
properties
in classXmlSerializer
- Returns:
- The properties on this bean as a map for debugging.
-