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. -
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 TypeFieldDescriptionstatic final HtmlSerializerDefault serializer, all default settings.static final HtmlSerializerDefault serializer, single quotes.static final HtmlSerializerDefault 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_NAMESPACEFields inherited from class org.apache.juneau.Context
CONTEXT_APPLY_FILTERFields inherited from interface org.apache.juneau.AnnotationProvider
DISABLE_ANNOTATION_CACHING -
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.protected JsonMapReturns 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, 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
getInitialDepth, getMaxDepth, isDetectRecursions, isIgnoreRecursionsMethods inherited from class org.apache.juneau.BeanContextable
getBeanContextMethods 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, toStringMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods 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: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.
-
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.
-
getSchemaSerializer
Returns the schema serializer.- Returns:
- The schema serializer.
-
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.
-
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.
-
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:
-
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: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.
-