Class HtmlSerializer
- All Implemented Interfaces:
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. -
CollectionsofMapsand 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
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class.static classDefault serializer, single quotes.static classDefault serializer, single quotes, whitespace added.Nested classes/interfaces inherited from class org.apache.juneau.xml.XmlSerializer
XmlSerializer.Ns, XmlSerializer.NsSq, XmlSerializer.NsSqReadableNested classes/interfaces inherited from class org.apache.juneau.serializer.Serializer
Serializer.Null -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final booleanprotected final booleanstatic final HtmlSerializerDefault serializer, all default settings.static final HtmlSerializerDefault serializer, single quotes, simplified (no JSON type tags on strings).static final HtmlSerializerDefault serializer, single quotes.static final HtmlSerializerDefault serializer, single quotes, whitespace added.protected final booleanprotected final booleanprotected final Stringprotected final AnchorTextFields inherited from class org.apache.juneau.xml.XmlSerializer
addBeanTypesXml, addJsonTags, addNamespaceUrlsToRoot, autoDetectNamespaces, DEFAULT_JUNEAU_NAMESPACE, DEFAULT_NS, DEFAULT_NS_SQ, DEFAULT_NS_SQ_READABLE, DEFAULT_XS_NAMESPACE, enableNamespacesFields inherited from class org.apache.juneau.serializer.WriterSerializer
maxIndent, quoteChar, quoteCharOverride, useWhitespaceFields inherited from class org.apache.juneau.serializer.Serializer
accept, addRootType, keepNullProperties, listener, produces, sortCollections, sortMaps, trimEmptyCollections, trimEmptyMaps, trimStringsFields inherited from class org.apache.juneau.BeanContextable
beanContextFields inherited from class org.apache.juneau.Context
CONTEXT_APPLY_FILTER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a builder from this context object.static HtmlSerializer.Buildercreate()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 StringLink label parameter name.Returns the schema serializer.Returns a session to use for this context.protected final AnchorTextAnchor text source.protected final booleanAdd"_type" properties when needed.protected final booleanAdd key/value headers on bean/map tables.protected final booleanLook for link labels in URIs.protected final booleanLook for URLs inStrings.Returns the properties on this bean as a map for debugging.Methods inherited from class org.apache.juneau.xml.XmlSerializer
getDefaultNamespace, getNamespaces, getTextNodeDelimiter, getXmlBeanMeta, getXmlBeanPropertyMeta, getXmlClassMeta, isAddNamespaceUrlsToRoot, isAutoDetectNamespaces, isEnableNamespacesMethods inherited from class org.apache.juneau.serializer.WriterSerializer
getFileCharset, getMaxIndent, getQuoteChar, getStreamCharset, isUseWhitespace, isWriterSerializer, println, quoteChar, serialize, toStringMethods 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, serializeToStringMethods inherited from class org.apache.juneau.BeanTraverseContext
getDetectRecursions, getIgnoreRecursions, getInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursionsMethods inherited from class org.apache.juneau.BeanContextable
getBeanContextMethods inherited from class org.apache.juneau.Context
createBuilder, getAnnotationProvider, init, isDebug, toString
-
Field Details
-
DEFAULT
Default serializer, all default settings. -
DEFAULT_SQ
Default serializer, single quotes. -
DEFAULT_SQ_READABLE
Default serializer, single quotes, whitespace added. -
DEFAULT_SIMPLE_SQ
Default serializer, single quotes, simplified (no JSON type tags on strings). -
addBeanTypesHtml
-
addKeyValueTableHeaders
-
detectLabelParameters
-
detectLinksInStrings
-
uriAnchorText
-
labelParameter
-
-
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:ContextCreates a builder from this context object.Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations.
- Overrides:
copyin classXmlSerializer- Returns:
- A new Builder object.
-
createSession
Description 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 classXmlSerializer- Returns:
- A new session builder.
-
getHtmlBeanPropertyMeta
Description copied from interface:HtmlMetaProviderReturns the language-specific metadata on the specified bean property.- Specified by:
getHtmlBeanPropertyMetain interfaceHtmlMetaProvider- Parameters:
bpm- The bean property to return the metadata on.- Returns:
- The metadata.
-
getHtmlClassMeta
Description copied from interface:HtmlMetaProviderReturns the language-specific metadata on the specified class.- Specified by:
getHtmlClassMetain interfaceHtmlMetaProvider- Parameters:
cm- The class to return the metadata on.- Returns:
- The metadata.
-
getSchemaSerializer
Returns the schema serializer.- Returns:
- The schema serializer.
-
getSession
Description 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 classXmlSerializer- Returns:
- A new session object.
-
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:
-
isAddBeanTypes
Add"_type" properties when needed.- Overrides:
isAddBeanTypesin 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:
-
properties
Description copied from class:ContextReturns the properties on this bean as a map for debugging.- Overrides:
propertiesin classXmlSerializer- Returns:
- The properties on this bean as a map for debugging.
-