Package org.apache.juneau.xml
Class XmlSerializerSession
- Direct Known Subclasses:
HtmlSerializerSession
,SoapXmlSerializerSession
,XmlDocSerializerSession
Session object that lives for the duration of a single use of
XmlSerializer
.
Notes:
- This class is not thread safe and is typically discarded after one use.
See Also:
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder class.static enum
Identifies what the contents were of a serialized bean. -
Field Summary
Fields inherited from class org.apache.juneau.BeanTraverseSession
indent
-
Constructor Summary
ModifierConstructorDescriptionprotected
Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic XmlSerializerSession.Builder
create
(XmlSerializer ctx) Creates a new builder for this object.protected void
doSerialize
(SerializerPipe out, Object o) Serializes a POJO to the specified pipe.protected final void
Recursively searches for the XML namespaces on the specified POJO and adds them to the serializer context object.protected final Namespace
Default namespace.protected final Namespace[]
Default namespaces.getXmlBeanMeta
(BeanMeta<?> bm) Returns the language-specific metadata on the specified bean.Returns the language-specific metadata on the specified bean property.getXmlClassMeta
(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.final XmlWriter
Converts the specified output target object to anXmlWriter
.protected boolean
Add"_type" properties when needed.protected final boolean
Add namespace URLs to the root element.protected final boolean
Auto-detect namespace usage.protected final boolean
Enable support for XML namespaces.protected boolean
Returnstrue if we're serializing HTML.protected XmlSerializerSession.ContentResult
serializeAnything
(XmlWriter out, Object o, ClassMeta<?> eType, String keyName, String elementName, Namespace elementNamespace, boolean addNamespaceUris, XmlFormat format, boolean isMixedOrText, boolean preserveWhitespace, BeanPropertyMeta pMeta) Workhorse method.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
-
XmlSerializerSession
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.
-
isHtmlMode
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.
- Returns:
true if we're generating HTML.
-
getXmlWriter
Converts the specified output target object to anXmlWriter
.- Parameters:
out
- The output target object.- Returns:
- The output target object wrapped in an
XmlWriter
. - Throws:
IOException
- Thrown by underlying stream.
-
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 classSerializerSession
- 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.
-
findNsfMappings
Recursively searches for the XML namespaces on the specified POJO and adds them to the serializer context object.- Parameters:
o
- The POJO to check.- Throws:
SerializeException
- Thrown if bean recursion occurred.
-
serializeAnything
protected XmlSerializerSession.ContentResult serializeAnything(XmlWriter out, Object o, ClassMeta<?> eType, String keyName, String elementName, Namespace elementNamespace, boolean addNamespaceUris, XmlFormat format, boolean isMixedOrText, boolean preserveWhitespace, BeanPropertyMeta pMeta) throws SerializeException Workhorse method.- 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.isMixedOrText
- 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.
-
isAddBeanTypes
Add"_type" properties when needed.- Overrides:
isAddBeanTypes
in classSerializerSession
- Returns:
true if"_type" properties will be added to beans if their type cannot be inferred through reflection.- See Also:
-
isAddNamespaceUrisToRoot
Add namespace URLs to the root element.- Returns:
true ifxmlns:x
attributes are added to the root element for the default and all mapped namespaces.- See Also:
-
isAutoDetectNamespaces
Auto-detect namespace usage.- Returns:
true if namespace usage is detected before serialization.- See Also:
-
getDefaultNamespace
Default namespace.- Returns:
- The default namespace URI for this document.
- See Also:
-
isEnableNamespaces
Enable support for XML namespaces.- Returns:
false if XML output will not contain any namespaces regardless of any other settings.- See Also:
-
getNamespaces
Default namespaces.- Returns:
- The default list of namespaces associated with this serializer.
- See Also:
-
getXmlClassMeta
Returns the language-specific metadata on the specified class.- Parameters:
cm
- The class to return the metadata on.- Returns:
- The metadata.
-
getXmlBeanMeta
Returns the language-specific metadata on the specified bean.- Parameters:
bm
- The bean to return the metadata on.- Returns:
- The metadata.
-
getXmlBeanPropertyMeta
Returns the language-specific metadata on the specified bean property.- Parameters:
bpm
- The bean property to return the metadata on.- Returns:
- The metadata.
-