Package org.apache.juneau.html
Class HtmlSerializerSession
- Direct Known Subclasses:
HtmlSchemaSerializerSession
,HtmlStrippedDocSerializerSession
Session object that lives for the duration of a single use of
HtmlSerializer
.
Notes:
- This class is not thread safe and is typically discarded after one use.
See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.juneau.xml.XmlSerializerSession
XmlSerializerSession.ContentResult
-
Field Summary
Fields inherited from class org.apache.juneau.BeanTraverseSession
indent
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructor. -
Method Summary
Modifier and TypeMethodDescriptioncreate
(HtmlSerializer ctx) Creates a new builder for this object.protected void
doSerialize
(SerializerPipe out, Object o) Serializes a POJO to the specified pipe.getAnchorText
(BeanPropertyMeta pMeta, Object o) Returns the anchor text to use for the specified URL object.protected HtmlBeanPropertyMeta
Returns the language-specific metadata on the specified bean property.protected HtmlClassMeta
getHtmlClassMeta
(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.protected final HtmlWriter
Converts the specified output target object to anHtmlWriter
.protected final String
Link label parameter name.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
.boolean
Returnstrue if we're serializing HTML.boolean
isUri
(ClassMeta<?> cm, BeanPropertyMeta pMeta, Object o) Returnstrue if the specified object is a URL.protected XmlSerializerSession.ContentResult
serializeAnything
(XmlWriter out, Object o, ClassMeta<?> eType, String keyName, String elementName, Namespace elementNamespace, boolean addNamespaceUris, XmlFormat format, boolean isMixed, boolean preserveWhitespace, BeanPropertyMeta pMeta) Workhorse method.protected XmlSerializerSession.ContentResult
serializeAnything
(XmlWriter out, Object o, ClassMeta<?> eType, String name, BeanPropertyMeta pMeta, int xIndent, boolean isRoot, boolean nlIfElement) Serialize the specified object to the specified writer.Methods inherited from class org.apache.juneau.xml.XmlSerializerSession
create, findNsfMappings, getDefaultNamespace, getNamespaces, getXmlBeanMeta, getXmlBeanPropertyMeta, getXmlClassMeta, getXmlWriter, isAddNamespaceUrisToRoot, isAutoDetectNamespaces, isEnableNamespaces
Methods inherited from class org.apache.juneau.serializer.WriterSerializerSession
create, createPipe, getFileCharset, getMaxIndent, getQuoteChar, getStreamCharset, isUseWhitespace, isWriterSerializer, properties, serialize, serializeToString
Methods inherited from class org.apache.juneau.serializer.SerializerSession
addVarBean, canIgnoreValue, create, createBeanTypeNameProperty, createDefaultVarResolverSession, forEachEntry, forEachEntry, generalize, getBeanTypeName, getExpectedRootType, getJavaMethod, getListener, getListener, getResponseHeaders, getSchema, getUriContext, getUriRelativity, getUriResolution, getUriResolver, getVarResolver, handleThrown, isAddRootType, isKeepNullProperties, isSortCollections, isSortMaps, isTrimEmptyCollections, isTrimEmptyMaps, isTrimStrings, onBeanGetterException, onError, push2, relativizeUri, resolve, resolveUri, serialize, sort, sort, sort, swap, toList, toString, trim
Methods inherited from class org.apache.juneau.BeanTraverseSession
getInitialDepth, getLastLocation, getMaxDepth, getOptionalType, getOptionalValue, getStack, isDetectRecursions, isIgnoreRecursions, isOptional, isRoot, pop, push, setCurrentClass, setCurrentProperty, willExceedDepth, willRecurse
Methods inherited from class org.apache.juneau.BeanSession
_class, addWarning, convertToMemberType, convertToMemberType, convertToType, convertToType, convertToType, create, getArgsClassMeta, getBeanClassVisibility, getBeanConstructorVisibility, getBeanDictionary, getBeanFieldVisibility, getBeanMeta, getBeanMethodVisibility, getBeanRegistry, getBeanTypePropertyName, getBeanTypePropertyName, getClassMeta, getClassMeta, getClassMetaForObject, getClassMetaForObject, getLocale, getMediaType, getNamePropertyName, getNotBeanClasses, getNotBeanPackagesNames, getNotBeanPackagesPrefixes, getPropertyNamer, getSwaps, getTimeZone, getTimeZoneId, isBean, isBean, isBeanMapPutReturnsOldValue, isBeansRequireDefaultConstructor, isBeansRequireSerializable, isBeansRequireSettersForGetters, isBeansRequireSomeProperties, isFindFluentSetters, isIgnoreInvocationExceptionsOnGetters, isIgnoreInvocationExceptionsOnSetters, isIgnoreMissingSetters, isIgnoreUnknownBeanProperties, isIgnoreUnknownNullBeanProperties, isSortProperties, isUseEnumNames, isUseInterfaceProxies, isUseJavaBeanIntrospector, newBean, newBean, newBeanMap, newBeanMap, newGenericMap, object, string, toArray, toBeanMap, toBeanMap, toBeanMap
Methods inherited from class org.apache.juneau.ContextSession
checkForWarnings, getContext, getSessionProperties, getWarnings, isDebug, toString
-
Constructor Details
-
HtmlSerializerSession
Constructor.- Parameters:
builder
- The builder for this object.
-
-
Method Details
-
create
Creates a new builder for this object.- Parameters:
ctx
- The context creating this session.- Returns:
- A new builder.
-
getHtmlWriter
Converts the specified output target object to anHtmlWriter
.- Parameters:
out
- The output target object.- Returns:
- The output target object wrapped in an
HtmlWriter
. - Throws:
IOException
- Thrown by underlying stream.
-
isUri
Returnstrue if the specified object is a URL.- Parameters:
cm
- The ClassMeta of the object being serialized.pMeta
- The property metadata of the bean property of the object. Can benull if the object isn't from a bean property.o
- The object.- Returns:
true if the specified object is a URL.
-
getAnchorText
Returns the anchor text to use for the specified URL object.- Parameters:
pMeta
- The property metadata of the bean property of the object. Can benull if the object isn't from a bean property.o
- The URL object.- Returns:
- The anchor text to use for the specified URL object.
-
isHtmlMode
Description copied from class:XmlSerializerSession
Returnstrue if we're serializing HTML.The difference in behavior is how empty non-void elements are handled. The XML serializer will produce a collapsed tag, whereas the HTML serializer will produce a start and end tag.
- Overrides:
isHtmlMode
in classXmlSerializerSession
- Returns:
true if we're generating HTML.
-
doSerialize
Description copied from class:SerializerSession
Serializes a POJO to the specified pipe.This method should NOT close the context object.
The default implementation of this method simply calls
Serializer.doSerialize(SerializerSession,SerializerPipe,Object)
.- Overrides:
doSerialize
in classXmlSerializerSession
- Parameters:
out
- Where to send the output from the serializer.o
- The object to serialize.- Throws:
IOException
- Thrown by underlying stream.SerializeException
- Problem occurred trying to serialize object.
-
serializeAnything
protected XmlSerializerSession.ContentResult serializeAnything(XmlWriter out, Object o, ClassMeta<?> eType, String keyName, String elementName, Namespace elementNamespace, boolean addNamespaceUris, XmlFormat format, boolean isMixed, boolean preserveWhitespace, BeanPropertyMeta pMeta) throws SerializeException Description copied from class:XmlSerializerSession
Workhorse method.- Overrides:
serializeAnything
in classXmlSerializerSession
- Parameters:
out
- The writer to send the output to.o
- The object to serialize.eType
- The expected type if this is a bean property value being serialized.keyName
- The property name or map key name.elementName
- The root element name.elementNamespace
- The namespace of the element.addNamespaceUris
- Flag indicating that namespace URIs need to be added.format
- The format to serialize the output to.isMixed
- We're serializing mixed content, so don't use whitespace.preserveWhitespace
-true if we're serializingXmlFormat.MIXED_PWS
orXmlFormat.TEXT_PWS
.pMeta
- The bean property metadata if this is a bean property being serialized.- Returns:
- The same writer passed in so that calls to the writer can be chained.
- Throws:
SerializeException
- General serialization error occurred.
-
serializeAnything
protected XmlSerializerSession.ContentResult serializeAnything(XmlWriter out, Object o, ClassMeta<?> eType, String name, BeanPropertyMeta pMeta, int xIndent, boolean isRoot, boolean nlIfElement) throws SerializeException Serialize the specified object to the specified writer.- Parameters:
out
- The writer.o
- The object to serialize.eType
- The expected type of the object if this is a bean property.name
- The attribute name of this object if this object was a field in a JSON object (i.e. key of aMap.Entry
or property name of a bean).pMeta
- The bean property being serialized, ornull if we're not serializing a bean property.xIndent
- The current indentation value.isRoot
-true if this is the root element of the document.nlIfElement
-true if we should add a newline to the output before serializing only if the object is an element and not text.- Returns:
- The type of content encountered. Either simple (no whitespace) or normal (elements with whitespace).
- Throws:
SerializeException
- Generic serialization error occurred.
-
isAddBeanTypes
Add"_type" properties when needed.- Overrides:
isAddBeanTypes
in classXmlSerializerSession
- 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 ook 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:
-
getHtmlClassMeta
Returns the language-specific metadata on the specified class.- Parameters:
cm
- The class to return the metadata on.- Returns:
- The metadata.
-
getHtmlBeanPropertyMeta
Returns the language-specific metadata on the specified bean property.- Parameters:
bpm
- The bean property to return the metadata on.- Returns:
- The metadata.
-