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
`protected class` `Representer.RepresentJavaBean`

### Field Summary

Fields
`protected java.util.Map<java.lang.Class<? extends java.lang.Object>,Tag>` `classTags`
`static java.util.regex.Pattern` `MULTILINE_PATTERN`
`protected java.util.TimeZone` `timeZone`

### Fields inherited from class org.yaml.snakeyaml.representer.BaseRepresenter

`defaultFlowStyle, defaultScalarStyle, multiRepresenters, nullRepresenter, objectToRepresent, representedObjects, representers`

### Constructor Summary

Constructors
Constructor and Description
`Representer()`

### Method Summary

Methods
`Tag` `addClassTag(java.lang.Class<? extends java.lang.Object> clazz, java.lang.String tag)` Deprecated. use Tag instead of String
`Tag` `addClassTag(java.lang.Class<? extends java.lang.Object> clazz, Tag tag)` Define a tag for the `Class` to serialize.
`protected void` `checkGlobalTag(Property property, Node node, java.lang.Object object)` Remove redundant global tag for a type safe (generic) collection if it is the same as defined by the JavaBean property
`protected java.util.Set<Property>` `getProperties(java.lang.Class<? extends java.lang.Object> type)` Get JavaBean properties to be serialised.
`protected Tag` `getTag(java.lang.Class<?> clazz, Tag defaultTag)`
`java.util.TimeZone` `getTimeZone()`
`protected MappingNode` `representJavaBean(java.util.Set<Property> properties, java.lang.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(java.lang.Object javaBean, Property property, java.lang.Object propertyValue, Tag customTag)` Represent one JavaBean property.
`void` `setTimeZone(java.util.TimeZone timeZone)`

### Methods inherited from class org.yaml.snakeyaml.representer.BaseRepresenter

`getDefaultFlowStyle, getPropertyUtils, isExplicitPropertyUtils, represent, representData, representMapping, representScalar, representScalar, representSequence, setDefaultFlowStyle, setDefaultScalarStyle, setPropertyUtils`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### classTags

    protected java.util.Map<java.lang.Class<? extends java.lang.Object>,Tag> classTags

#### timeZone

    protected java.util.TimeZone timeZone

#### MULTILINE_PATTERN

    public static java.util.regex.Pattern MULTILINE_PATTERN

### Constructor Detail

#### Representer

    public Representer()

### Method Detail

#### representJavaBean

    protected MappingNode representJavaBean(java.util.Set<Property> properties,
                                java.lang.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 getters
  `javaBean` - instance for Node
Returns:
  Node to get serialized

#### representJavaBeanProperty

    protected NodeTuple representJavaBeanProperty(java.lang.Object javaBean,
                                      Property property,
                                      java.lang.Object propertyValue,
                                      Tag customTag)

Represent one JavaBean property.

Parameters:
  `javaBean` - - the instance to be represented
  `property` - - the property of the instance
  `propertyValue` - - value to be represented
  `customTag` - - 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,
                      java.lang.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 property
  `node` - - representation of the property
  `object` - - instance represented by the node

#### getProperties

    protected java.util.Set<Property> getProperties(java.lang.Class<? extends java.lang.Object> type)
                                             throws java.beans.IntrospectionException

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
Throws:
  `java.beans.IntrospectionException`

#### getTag

    protected Tag getTag(java.lang.Class<?> clazz,
             Tag defaultTag)

#### addClassTag

    public Tag addClassTag(java.lang.Class<? extends java.lang.Object> clazz,
                  java.lang.String tag)

Deprecated. use Tag instead of String
Define a tag for the `Class` to serialize

Parameters:
  `clazz` - `Class` which tag is changed
  `tag` - new tag to be used for every instance of the specified `Class`
Returns:
  the previous tag associated with the `Class`

#### addClassTag

    public Tag addClassTag(java.lang.Class<? extends java.lang.Object> clazz,
                  Tag tag)

Define a tag for the `Class` to serialize.

Parameters:
  `clazz` - `Class` which tag is changed
  `tag` - new tag to be used for every instance of the specified `Class`
Returns:
  the previous tag associated with the `Class`

#### getTimeZone

    public java.util.TimeZone getTimeZone()

#### setTimeZone

    public void setTimeZone(java.util.TimeZone timeZone)