org.yaml.snakeyaml
Class Yaml

java.lang.Object
  extended by org.yaml.snakeyaml.Yaml

public class Yaml
extends Object

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


Field Summary
protected  BaseConstructor constructor
           
protected  DumperOptions dumperOptions
           
protected  LoaderOptions loaderOptions
           
protected  Representer representer
           
protected  Resolver resolver
           
 
Constructor Summary
Yaml()
          Create Yaml instance.
Yaml(BaseConstructor constructor)
          Create Yaml instance.
Yaml(BaseConstructor constructor, LoaderOptions loaderOptions, Representer representer, DumperOptions dumperOptions, Resolver resolver)
          Create Yaml instance.
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)
           
Yaml(Representer representer)
          Create Yaml instance.
Yaml(Representer representer, DumperOptions dumperOptions)
          Create Yaml instance.
 
Method Summary
 void addImplicitResolver(String tag, Pattern regexp, String first)
          Deprecated. use Tag instead of String
 void addImplicitResolver(Tag tag, Pattern regexp, String first)
          Add an implicit scalar detector.
 Node compose(Reader yaml)
          Parse the first YAML document in a stream and produce the corresponding representation tree.
 Iterable<Node> composeAll(Reader yaml)
          Parse all YAML documents in a stream and produce corresponding representation trees.
 String dump(Object data)
          Serialize a Java object into a YAML String.
 void dump(Object data, Writer output)
          Serialize a Java object into a YAML stream.
 String dumpAll(Iterator<? extends Object> data)
          Serialize a sequence of Java objects into a YAML String.
 void dumpAll(Iterator<? extends Object> data, Writer output)
          Serialize a sequence of Java objects into a YAML stream.
 String dumpAs(Object data, Tag rootTag, DumperOptions.FlowStyle flowStyle)
           Serialize a Java object into a YAML string.
 String dumpAsMap(Object data)
           Serialize a Java object into a YAML string.
 String getName()
          Get a meaningful name.
 Object load(InputStream io)
          Parse the only YAML document in a stream and produce the corresponding Java object.
 Object load(Reader io)
          Parse the only YAML document in a stream and produce the corresponding Java object.
 Object load(String yaml)
          Parse the only YAML document in a String and produce the corresponding Java object.
 Iterable<Object> loadAll(InputStream yaml)
          Parse all YAML documents in a stream and produce corresponding Java objects.
 Iterable<Object> loadAll(Reader yaml)
          Parse all YAML documents in a String and produce corresponding Java objects.
 Iterable<Object> loadAll(String yaml)
          Parse all YAML documents in a String and produce corresponding Java objects.
<T> T
loadAs(InputStream input, Class<T> type)
          Parse the only YAML document in a stream and produce the corresponding Java object.
<T> T
loadAs(Reader io, Class<T> type)
          Parse the only YAML document in a stream and produce the corresponding Java object.
<T> T
loadAs(String yaml, Class<T> type)
          Parse the only YAML document in a String and produce the corresponding Java object.
 Iterable<Event> parse(Reader yaml)
          Parse a YAML stream and produce parsing events.
 Node represent(Object data)
          Produce the corresponding representation tree for a given Object.
 List<Event> serialize(Node data)
          Serialize the representation tree into Events.
 void setBeanAccess(BeanAccess beanAccess)
           
 void setName(String name)
          Set a meaningful name to be shown in toString()
 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

loaderOptions

protected LoaderOptions loaderOptions
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)

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)
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
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 String dump(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(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:
http://yaml.org/spec/1.1/#id859333

dumpAll

public String dumpAll(Iterator<? extends 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(Object data,
                 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(Iterator<? extends Object> data,
                    Writer output)
Serialize a sequence of Java objects into a YAML stream.

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

dumpAs

public String dumpAs(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 String dumpAsMap(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 List<Event> serialize(Node data)
Serialize the representation tree into Events.

Parameters:
data - representation tree
Returns:
Event list
See Also:
http://yaml.org/spec/1.1/#id859333

load

public Object load(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 Object load(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 Object load(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(Reader io,
                    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(String yaml,
                    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(InputStream input,
                    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 Iterable<Object> loadAll(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 Iterable<Object> loadAll(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 Iterable<Object> loadAll(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(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:
http://yaml.org/spec/1.1/#id859333

composeAll

public Iterable<Node> composeAll(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:
http://yaml.org/spec/1.1/#id859333

addImplicitResolver

public void addImplicitResolver(String tag,
                                Pattern regexp,
                                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,
                                Pattern regexp,
                                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 String toString()
Overrides:
toString in class Object

getName

public 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(String name)
Set a meaningful name to be shown in toString()

Parameters:
name - human readable name

parse

public Iterable<Event> parse(Reader yaml)
Parse a YAML stream and produce parsing events.

Parameters:
yaml - YAML document(s)
Returns:
parsed events
See Also:
http://yaml.org/spec/1.1/#id859333

setBeanAccess

public void setBeanAccess(BeanAccess beanAccess)


Copyright © 2008-2011. All Rights Reserved.