org.yaml.snakeyaml

## Class Yaml

- java.lang.Object
- - org.yaml.snakeyaml.Yaml

    public class Yaml
    extends java.lang.Object

Public YAML interface. Each Thread must have its own instance.

### Field Summary

Fields
`protected BaseConstructor` `constructor`
`protected DumperOptions` `dumperOptions`
`protected Representer` `representer`
`protected Resolver` `resolver`

### Constructor Summary

Constructors
Constructor and Description
`Yaml()` Create Yaml instance.
`Yaml(BaseConstructor constructor)` Create Yaml instance.
`Yaml(BaseConstructor constructor, LoaderOptions loaderOptions, Representer representer, DumperOptions dumperOptions, Resolver resolver)` Deprecated.
`Yaml(BaseConstructor constructor, Representer representer)` Create Yaml instance.
`Yaml(BaseConstructor constructor, Representer representer, DumperOptions dumperOptions)` Create Yaml instance.
`Yaml(BaseConstructor constructor, Representer representer, DumperOptions dumperOptions, Resolver resolver)` Create Yaml instance.
`Yaml(Dumper dumper)` Create Yaml instance.
`Yaml(DumperOptions dumperOptions)` Create Yaml instance.
`Yaml(Loader loader)` Deprecated. use with Constructor instead of Loader
`Yaml(Loader loader, Dumper dumper)` Deprecated. use with Constructor instead of Loader
`Yaml(Loader loader, Dumper dumper, Resolver resolver)` Deprecated. use with Constructor instead of Loader
`Yaml(LoaderOptions loaderOptions)` Deprecated.
`Yaml(Representer representer)` Create Yaml instance.
`Yaml(Representer representer, DumperOptions dumperOptions)` Create Yaml instance.

### Method Summary

Methods
`void` `addImplicitResolver(java.lang.String tag, java.util.regex.Pattern regexp, java.lang.String first)` Deprecated. use Tag instead of String
`void` `addImplicitResolver(Tag tag, java.util.regex.Pattern regexp, java.lang.String first)` Add an implicit scalar detector.
`Node` `compose(java.io.Reader yaml)` Parse the first YAML document in a stream and produce the corresponding representation tree.
`java.lang.Iterable<Node>` `composeAll(java.io.Reader yaml)` Parse all YAML documents in a stream and produce corresponding representation trees.
`java.lang.String` `dump(java.lang.Object data)` Serialize a Java object into a YAML String.
`void` `dump(java.lang.Object data, java.io.Writer output)` Serialize a Java object into a YAML stream.
`java.lang.String` `dumpAll(java.util.Iterator<? extends java.lang.Object> data)` Serialize a sequence of Java objects into a YAML String.
`void` `dumpAll(java.util.Iterator<? extends java.lang.Object> data, java.io.Writer output)` Serialize a sequence of Java objects into a YAML stream.
`java.lang.String` `dumpAs(java.lang.Object data, Tag rootTag, DumperOptions.FlowStyle flowStyle)` Serialize a Java object into a YAML string.
`java.lang.String` `dumpAsMap(java.lang.Object data)` Serialize a Java object into a YAML string.
`java.lang.String` `getName()` Get a meaningful name.
`java.lang.Object` `load(java.io.InputStream io)` Parse the only YAML document in a stream and produce the corresponding Java object.
`java.lang.Object` `load(java.io.Reader io)` Parse the only YAML document in a stream and produce the corresponding Java object.
`java.lang.Object` `load(java.lang.String yaml)` Parse the only YAML document in a String and produce the corresponding Java object.
`java.lang.Iterable<java.lang.Object>` `loadAll(java.io.InputStream yaml)` Parse all YAML documents in a stream and produce corresponding Java objects.
`java.lang.Iterable<java.lang.Object>` `loadAll(java.io.Reader yaml)` Parse all YAML documents in a String and produce corresponding Java objects.
`java.lang.Iterable<java.lang.Object>` `loadAll(java.lang.String yaml)` Parse all YAML documents in a String and produce corresponding Java objects.
`<T> T` `loadAs(java.io.InputStream input, java.lang.Class<T> type)` Parse the only YAML document in a stream and produce the corresponding Java object.
`<T> T` `loadAs(java.io.Reader io, java.lang.Class<T> type)` Parse the only YAML document in a stream and produce the corresponding Java object.
`<T> T` `loadAs(java.lang.String yaml, java.lang.Class<T> type)` Parse the only YAML document in a String and produce the corresponding Java object.
`java.lang.Iterable<Event>` `parse(java.io.Reader yaml)` Parse a YAML stream and produce parsing events.
`Node` `represent(java.lang.Object data)` Produce the corresponding representation tree for a given Object.
`java.util.List<Event>` `serialize(Node data)` Serialize the representation tree into Events.
`void` `setBeanAccess(BeanAccess beanAccess)`
`void` `setName(java.lang.String name)` Set a meaningful name to be shown in toString()
`java.lang.String` `toString()`

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

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

### Field Detail

#### resolver

    protected final Resolver resolver

#### constructor

    protected BaseConstructor constructor

#### representer

    protected Representer representer

#### dumperOptions

    protected DumperOptions dumperOptions

### Constructor Detail

#### Yaml

    public Yaml()

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

#### Yaml

    public Yaml(LoaderOptions loaderOptions)

Deprecated.

#### Yaml

    public Yaml(DumperOptions dumperOptions)

Create Yaml instance.

Parameters:
  `dumperOptions` - DumperOptions to configure outgoing objects

#### Yaml

    public Yaml(Representer representer)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `representer` - Representer to emit outgoing objects

#### Yaml

    public Yaml(BaseConstructor constructor)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `constructor` - BaseConstructor to construct incoming documents

#### Yaml

    public Yaml(BaseConstructor constructor,
        Representer representer)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `constructor` - BaseConstructor to construct incoming documents
  `representer` - Representer to emit outgoing objects

#### Yaml

    public Yaml(Representer representer,
        DumperOptions dumperOptions)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `representer` - Representer to emit outgoing objects
  `dumperOptions` - DumperOptions to configure outgoing objects

#### Yaml

    public Yaml(BaseConstructor constructor,
        Representer representer,
        DumperOptions dumperOptions)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `constructor` - BaseConstructor to construct incoming documents
  `representer` - Representer to emit outgoing objects
  `dumperOptions` - DumperOptions to configure outgoing objects

#### Yaml

    public Yaml(BaseConstructor constructor,
        Representer representer,
        DumperOptions dumperOptions,
        Resolver resolver)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `constructor` - BaseConstructor to construct incoming documents
  `representer` - Representer to emit outgoing objects
  `dumperOptions` - DumperOptions to configure outgoing objects
  `resolver` - Resolver to detect implicit type

#### Yaml

    public Yaml(BaseConstructor constructor,
        LoaderOptions loaderOptions,
        Representer representer,
        DumperOptions dumperOptions,
        Resolver resolver)

Deprecated.
Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `constructor` - BaseConstructor to construct incoming documents
  `loaderOptions` - LoaderOptions to control construction process (unused)
  `representer` - Representer to emit outgoing objects
  `dumperOptions` - DumperOptions to configure outgoing objects
  `resolver` - Resolver to detect implicit type

#### Yaml

    public Yaml(Loader loader)

Deprecated. use with Constructor instead of Loader

#### Yaml

    public Yaml(Loader loader,
        Dumper dumper)

Deprecated. use with Constructor instead of Loader

#### Yaml

    public Yaml(Loader loader,
        Dumper dumper,
        Resolver resolver)

Deprecated. use with Constructor instead of Loader

#### Yaml

    public Yaml(Dumper dumper)

Create Yaml instance. It is safe to create a few instances and use them in different Threads.

Parameters:
  `dumper` - Dumper to emit outgoing objects

### Method Detail

#### dump

    public java.lang.String dump(java.lang.Object data)

Serialize a Java object into a YAML String.

Parameters:
  `data` - Java object to be Serialized to YAML
Returns:
  YAML String

#### represent

    public Node represent(java.lang.Object data)

Produce the corresponding representation tree for a given Object.

Parameters:
  `data` - instance to build the representation tree for
Returns:
  representation tree
See Also:
  Figure 3.1. Processing Overview

#### dumpAll

    public java.lang.String dumpAll(java.util.Iterator<? extends java.lang.Object> data)

Serialize a sequence of Java objects into a YAML String.

Parameters:
  `data` - Iterator with Objects
Returns:
  YAML String with all the objects in proper sequence

#### dump

    public void dump(java.lang.Object data,
            java.io.Writer output)

Serialize a Java object into a YAML stream.

Parameters:
  `data` - Java object to be serialized to YAML
  `output` - stream to write to

#### dumpAll

    public void dumpAll(java.util.Iterator<? extends java.lang.Object> data,
               java.io.Writer output)

Serialize a sequence of Java objects into a YAML stream.

Parameters:
  `data` - Iterator with Objects
  `output` - stream to write to

#### dumpAs

    public java.lang.String dumpAs(java.lang.Object data,
                          Tag rootTag,
                          DumperOptions.FlowStyle flowStyle)

Serialize a Java object into a YAML string. Override the default root tag with `rootTag`.

This method is similar to `Yaml.dump(data)` except that the root tag for the whole document is replaced with the given tag. This has two main uses.

First, if the root tag is replaced with a standard YAML tag, such as `Tag.MAP`, then the object will be dumped as a map. The root tag will appear as `!!map`, or blank (implicit !!map).

Second, if the root tag is replaced by a different custom tag, then the document appears to be a different type when loaded. For example, if an instance of MyClass is dumped with the tag !!YourClass, then it will be handled as an instance of YourClass when loaded.

Parameters:
  `data` - Java object to be serialized to YAML
  `rootTag` - the tag for the whole YAML document. The tag should be Tag.MAP for a JavaBean to make the tag disappear (to use implicit tag !!map). If `null` is provided then the standard tag with the full class name is used.
  `flowStyle` - flow style for the whole document. See Chapter 10. Collection Styles http://yaml.org/spec/1.1/#id930798. If `null` is provided then the flow style from DumperOptions is used.
Returns:
  YAML String

#### dumpAsMap

    public java.lang.String dumpAsMap(java.lang.Object data)

Serialize a Java object into a YAML string. Override the default root tag with `Tag.MAP`.

This method is similar to `Yaml.dump(data)` except that the root tag for the whole document is replaced with `Tag.MAP` tag (implicit !!map).

Block Mapping is used as the collection style. See 10.2.2. Block Mappings (http://yaml.org/spec/1.1/#id934537)

Parameters:
  `data` - Java object to be serialized to YAML
Returns:
  YAML String

#### serialize

    public java.util.List<Event> serialize(Node data)

Serialize the representation tree into Events.

Parameters:
  `data` - representation tree
Returns:
  Event list
See Also:
  Processing Overview

#### load

    public java.lang.Object load(java.lang.String yaml)

Parse the only YAML document in a String and produce the corresponding Java object. (Because the encoding in known BOM is not respected.)

Parameters:
  `yaml` - YAML data to load from (BOM must not be present)
Returns:
  parsed object

#### load

    public java.lang.Object load(java.io.InputStream io)

Parse the only YAML document in a stream and produce the corresponding Java object.

Parameters:
  `io` - data to load from (BOM is respected and removed)
Returns:
  parsed object

#### load

    public java.lang.Object load(java.io.Reader io)

Parse the only YAML document in a stream and produce the corresponding Java object.

Parameters:
  `io` - data to load from (BOM must not be present)
Returns:
  parsed object

#### loadAs

    public <T> T loadAs(java.io.Reader io,
               java.lang.Class<T> type)

Parse the only YAML document in a stream and produce the corresponding Java object.

Type Parameters:
  `T` - Class is defined by the second argument
Parameters:
  `io` - data to load from (BOM must not be present)
  `type` - Class of the object to be created
Returns:
  parsed object

#### loadAs

    public <T> T loadAs(java.lang.String yaml,
               java.lang.Class<T> type)

Parse the only YAML document in a String and produce the corresponding Java object. (Because the encoding in known BOM is not respected.)

Type Parameters:
  `T` - Class is defined by the second argument
Parameters:
  `yaml` - YAML data to load from (BOM must not be present)
  `type` - Class of the object to be created
Returns:
  parsed object

#### loadAs

    public <T> T loadAs(java.io.InputStream input,
               java.lang.Class<T> type)

Parse the only YAML document in a stream and produce the corresponding Java object.

Type Parameters:
  `T` - Class is defined by the second argument
Parameters:
  `input` - data to load from (BOM is respected and removed)
  `type` - Class of the object to be created
Returns:
  parsed object

#### loadAll

    public java.lang.Iterable<java.lang.Object> loadAll(java.io.Reader yaml)

Parse all YAML documents in a String and produce corresponding Java objects. The documents are parsed only when the iterator is invoked.

Parameters:
  `yaml` - YAML data to load from (BOM must not be present)
Returns:
  an iterator over the parsed Java objects in this String in proper sequence

#### loadAll

    public java.lang.Iterable<java.lang.Object> loadAll(java.lang.String yaml)

Parse all YAML documents in a String and produce corresponding Java objects. (Because the encoding in known BOM is not respected.) The documents are parsed only when the iterator is invoked.

Parameters:
  `yaml` - YAML data to load from (BOM must not be present)
Returns:
  an iterator over the parsed Java objects in this String in proper sequence

#### loadAll

    public java.lang.Iterable<java.lang.Object> loadAll(java.io.InputStream yaml)

Parse all YAML documents in a stream and produce corresponding Java objects. The documents are parsed only when the iterator is invoked.

Parameters:
  `yaml` - YAML data to load from (BOM is respected and ignored)
Returns:
  an iterator over the parsed Java objects in this stream in proper sequence

#### compose

    public Node compose(java.io.Reader yaml)

Parse the first YAML document in a stream and produce the corresponding representation tree. (This is the opposite of the represent() method)

Parameters:
  `yaml` - YAML document
Returns:
  parsed root Node for the specified YAML document
See Also:
  Figure 3.1. Processing Overview

#### composeAll

    public java.lang.Iterable<Node> composeAll(java.io.Reader yaml)

Parse all YAML documents in a stream and produce corresponding representation trees.

Parameters:
  `yaml` - stream of YAML documents
Returns:
  parsed root Nodes for all the specified YAML documents
See Also:
  Processing Overview

#### addImplicitResolver

    public void addImplicitResolver(java.lang.String tag,
                           java.util.regex.Pattern regexp,
                           java.lang.String first)

Deprecated. use Tag instead of String
Add an implicit scalar detector. If an implicit scalar value matches the given regexp, the corresponding tag is assigned to the scalar.

Parameters:
  `tag` - tag to assign to the node
  `regexp` - regular expression to match against
  `first` - a sequence of possible initial characters or null (which means any).

#### addImplicitResolver

    public void addImplicitResolver(Tag tag,
                           java.util.regex.Pattern regexp,
                           java.lang.String first)

Add an implicit scalar detector. If an implicit scalar value matches the given regexp, the corresponding tag is assigned to the scalar.

Parameters:
  `tag` - tag to assign to the node
  `regexp` - regular expression to match against
  `first` - a sequence of possible initial characters or null (which means any).

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### getName

    public java.lang.String getName()

Get a meaningful name. It simplifies debugging in a multi-threaded environment. If nothing is set explicitly the address of the instance is returned.

Returns:
  human readable name

#### setName

    public void setName(java.lang.String name)

Set a meaningful name to be shown in toString()

Parameters:
  `name` - human readable name

#### parse

    public java.lang.Iterable<Event> parse(java.io.Reader yaml)

Parse a YAML stream and produce parsing events.

Parameters:
  `yaml` - YAML document(s)
Returns:
  parsed events
See Also:
  Processing Overview

#### setBeanAccess

    public void setBeanAccess(BeanAccess beanAccess)