com.clarkparsia.stardog.metadata
Class Metadata

java.lang.Object
  extended by com.clarkparsia.stardog.metadata.Metadata
All Implemented Interfaces:
Copyable<Metadata>, Iterable<MetaProperty<Object>>

public class Metadata
extends Object
implements Copyable<Metadata>, Iterable<MetaProperty<Object>>

Mapping from Stardog meta properties to values. Similar to a standard Map but with some key differences. This class does not allow null options to be used as keys. The get(MetaProperty) function may return a value even though an option is not contained in the map explicitly. In such cases the default value of the option is returned.

Since:
0.9
Version:
0.9
Author:
Evren Sirin

Method Summary
<V> boolean
contains(MetaProperty<V> option)
          Returns true if this collection contains an explicit value for the specified option.
 Metadata copy()
          Creates a copy of the StardogOptions instance.
static Metadata create()
          Creates a new empty mutable StardogOptions instance.
static Metadata empty()
          Creates a new empty immutable StardogOptions instance.
 boolean equals(Object o)
           
<V> V
get(MetaProperty<V> option)
          Returns the value associated with the given property or the default value of the property if there is no associated value.
 int hashCode()
           
 Metadata immutable()
          Creates an immutable shallow copy of the StardogOptions instance.
 boolean is(MetaProperty<Boolean> option)
          Returns the value associated with the given boolean option or the default value of the option if there is no associated value and the default value is not null or false otherwise.
 Iterator<MetaProperty<Object>> iterator()
           
static
<V> Metadata
of(MetaProperty<V> key, V value)
          Creates an immutable metadata instance with the given single mapping.
<V> V
remove(MetaProperty<V> option)
          Removes any previous value associated with this option.
<V> Metadata
set(MetaProperty<V> option, V value)
          Associate the given value with the given option overriding any previous value.
<V> Metadata
setAll(Metadata theOtherMap)
          Copies all of the option value mappings from the specified map to this map overriding Sets all the options in the given map the given option overriding any previous value .
 String toString()
           
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

iterator

public Iterator<MetaProperty<Object>> iterator()
Specified by:
iterator in interface Iterable<MetaProperty<Object>>

copy

public Metadata copy()
Creates a copy of the StardogOptions instance. The copy can be updated freely without affecting this map.

Specified by:
copy in interface Copyable<Metadata>

immutable

public Metadata immutable()
Creates an immutable shallow copy of the StardogOptions instance. The result is a shallow copy so updating the original metadata values will affect the immutable copy. If this needs to be avoided aMetadata.copy().immutable() can be used.

Returns:
a new map instance that will throw exceptions on modification function

empty

public static Metadata empty()
Creates a new empty immutable StardogOptions instance.


of

public static <V> Metadata of(MetaProperty<V> key,
                              V value)
Creates an immutable metadata instance with the given single mapping.


create

public static Metadata create()
Creates a new empty mutable StardogOptions instance.


contains

public <V> boolean contains(MetaProperty<V> option)
Returns true if this collection contains an explicit value for the specified option.


get

public <V> V get(MetaProperty<V> option)
Returns the value associated with the given property or the default value of the property if there is no associated value. The default value for an option might be null so there are cases this function will return a null value. Must be used with care in autoboxing.

See Also:
is(MetaProperty)

is

public boolean is(MetaProperty<Boolean> option)
Returns the value associated with the given boolean option or the default value of the option if there is no associated value and the default value is not null or false otherwise. This function serves the same purpose as get but treats null values as false. It is a safe alternative to avoid NullPointerException during auto-unboxing for boolean properties.


set

public <V> Metadata set(MetaProperty<V> option,
                        V value)
Associate the given value with the given option overriding any previous value.

Returns:
a reference to this map to allow method chaining

setAll

public <V> Metadata setAll(Metadata theOtherMap)
Copies all of the option value mappings from the specified map to this map overriding Sets all the options in the given map the given option overriding any previous value .

Returns:
a reference to this map to allow method chaining

remove

public <V> V remove(MetaProperty<V> option)
Removes any previous value associated with this option.

Returns:
the previous value associated with this value in the map or the default value of the option if the option value was not set in the map

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2010-2013 Clark & Parsia. All Rights Reserved.