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 classRepresenter.RepresentJavaBean
-
Field Summary
Fields Modifier and Type Field Description protected Map<Class<? extends Object>,Tag>classTagsprotected DumperOptions.NonPrintableStylenonPrintableStyleprotected TimeZonetimeZoneprotected 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 TagaddClassTag(Class<? extends Object> clazz, Tag tag)Define a tag for theClassto serialize.TypeDescriptionaddTypeDescription(TypeDescription td)protected voidcheckGlobalTag(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 TaggetTag(Class<?> clazz, Tag defaultTag)TimeZonegetTimeZone()protected MappingNoderepresentJavaBean(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 NodeTuplerepresentJavaBeanProperty(Object javaBean, Property property, Object propertyValue, Tag customTag)Represent one JavaBean property.voidsetPropertyUtils(PropertyUtils propertyUtils)voidsetTimeZone(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:
setPropertyUtilsin 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 theClassto serialize.- Parameters:
clazz-Classwhich 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)
-
-