Package org.yaml.snakeyaml.representer
Class Representer
- java.lang.Object
-
- org.yaml.snakeyaml.representer.BaseRepresenter
-
- org.yaml.snakeyaml.representer.Representer
-
public class Representer extends BaseRepresenter
Represent JavaBeans
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
Representer.RepresentJavaBean
-
Field Summary
Fields Modifier and Type Field Description protected Map<Class<? extends Object>,Tag>
classTags
protected DumperOptions.NonPrintableStyle
nonPrintableStyle
protected TimeZone
timeZone
protected Map<Class<? extends Object>,TypeDescription>
typeDefinitions
-
Fields inherited from class org.yaml.snakeyaml.representer.BaseRepresenter
defaultFlowStyle, defaultScalarStyle, multiRepresenters, nullRepresenter, objectToRepresent, representedObjects, representers
-
-
Constructor Summary
Constructors Constructor Description Representer(DumperOptions options)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Tag
addClassTag(Class<? extends Object> clazz, Tag tag)
Define a tag for theClass
to serialize.TypeDescription
addTypeDescription(TypeDescription td)
protected void
checkGlobalTag(Property property, Node node, Object object)
Remove redundant global tag for a type safe (generic) collection if it is the same as defined by the JavaBean propertyprotected Set<Property>
getProperties(Class<? extends Object> type)
Get JavaBean properties to be serialised.protected Tag
getTag(Class<?> clazz, Tag defaultTag)
TimeZone
getTimeZone()
protected MappingNode
representJavaBean(Set<Property> properties, Object javaBean)
Tag logic: - explicit root tag is set in serializer - if there is a predefined class tag it is used - a global tag with class name is always used as tag.protected NodeTuple
representJavaBeanProperty(Object javaBean, Property property, Object propertyValue, Tag customTag)
Represent one JavaBean property.void
setPropertyUtils(PropertyUtils propertyUtils)
void
setTimeZone(TimeZone timeZone)
-
Methods inherited from class org.yaml.snakeyaml.representer.BaseRepresenter
getDefaultFlowStyle, getDefaultScalarStyle, getPropertyUtils, isExplicitPropertyUtils, represent, representData, representMapping, representScalar, representScalar, representSequence, setDefaultFlowStyle, setDefaultScalarStyle
-
-
-
-
Field Detail
-
typeDefinitions
protected Map<Class<? extends Object>,TypeDescription> typeDefinitions
-
timeZone
protected TimeZone timeZone
-
nonPrintableStyle
protected DumperOptions.NonPrintableStyle nonPrintableStyle
-
-
Constructor Detail
-
Representer
public Representer(DumperOptions options)
-
-
Method Detail
-
addTypeDescription
public TypeDescription addTypeDescription(TypeDescription td)
-
setPropertyUtils
public void setPropertyUtils(PropertyUtils propertyUtils)
- Overrides:
setPropertyUtils
in classBaseRepresenter
-
representJavaBean
protected MappingNode representJavaBean(Set<Property> properties, Object javaBean)
Tag logic: - explicit root tag is set in serializer - if there is a predefined class tag it is used - a global tag with class name is always used as tag. The JavaBean parent of the specified JavaBean may set another tag (tag:yaml.org,2002:map) when the property class is the same as runtime class- Parameters:
properties
- JavaBean gettersjavaBean
- instance for Node- Returns:
- Node to get serialized
-
representJavaBeanProperty
protected NodeTuple representJavaBeanProperty(Object javaBean, Property property, Object propertyValue, Tag customTag)
Represent one JavaBean property.- Parameters:
javaBean
- - the instance to be representedproperty
- - the property of the instancepropertyValue
- - value to be representedcustomTag
- - user defined Tag- Returns:
- NodeTuple to be used in a MappingNode. Return null to skip the property
-
checkGlobalTag
protected void checkGlobalTag(Property property, Node node, Object object)
Remove redundant global tag for a type safe (generic) collection if it is the same as defined by the JavaBean property- Parameters:
property
- - JavaBean propertynode
- - representation of the propertyobject
- - instance represented by the node
-
getProperties
protected Set<Property> getProperties(Class<? extends Object> type)
Get JavaBean properties to be serialised. The order is respected. This method may be overridden to provide custom property selection or order.- Parameters:
type
- - JavaBean to inspect the properties- Returns:
- properties to serialise
-
addClassTag
public Tag addClassTag(Class<? extends Object> clazz, Tag tag)
Define a tag for theClass
to serialize.- Parameters:
clazz
-Class
which tag is changedtag
- new tag to be used for every instance of the specifiedClass
- Returns:
- the previous tag associated with the
Class
-
getTimeZone
public TimeZone getTimeZone()
-
setTimeZone
public void setTimeZone(TimeZone timeZone)
-
-