org.galagosearch.tupleflow
Class Parameters

java.lang.Object
  extended by org.galagosearch.tupleflow.Parameters
All Implemented Interfaces:
java.io.Serializable

public class Parameters
extends java.lang.Object
implements java.io.Serializable

A Parameters object is a hierarchical collection of strings. TupleFlow uses it as a convenient way to pass parameters to objects, read and write parameters from files, and read parameters from the command line.

Author:
trevor
See Also:
Serialized Form

Nested Class Summary
 class Parameters.CharSequenceBuffer
          This class gathers up a stack of CharSequence objects and makes them look like a single CharSequence.
 class Parameters.Parser
           
static class Parameters.Value
           
static class Parameters.Variable
           
 
Constructor Summary
Parameters()
           
Parameters(byte[] xmlData)
          Creates a Parameters object using XML data.
Parameters(java.io.File f)
          Creates a Parameters object using the contents of an XML file.
Parameters(java.util.Map<java.lang.String,java.lang.String> map)
          Creates a Parameters object based on a key/value map.
Parameters(Parameters.Value v)
           
Parameters(java.lang.String[] args)
           Fills in a Parameters object based on command line flags.
 
Method Summary
 void add(java.lang.String key, java.util.List<Parameters.Value> values)
           
 void add(java.lang.String key, java.lang.String value)
           
 Parameters clone()
           
 boolean containsKey(java.lang.String key)
           
 void copy(Parameters other)
           
 void copy(java.lang.String key, Parameters other)
           
 java.lang.String get(java.lang.String key)
          Gets the value for this key.
 boolean get(java.lang.String key, boolean def)
          Gets the value for this key, but returning a default value if the key doesn't exist in the object.
 double get(java.lang.String key, double def)
           
 long get(java.lang.String key, long def)
           
 java.lang.String get(java.lang.String key, java.lang.String def)
          Gets the value for this key.
 boolean getAsDefault(java.lang.String key, boolean def)
           
 double getAsDefault(java.lang.String key, double def)
           
 long getAsDefault(java.lang.String key, long def)
           
 java.lang.String getAsDefault(java.lang.String key, java.lang.String def)
          Gets the value for key.
 Parameters.Parser getParseHandler()
           
 boolean isEmpty()
           
 java.util.List<Parameters.Value> list(java.lang.String key)
           
 void parse(byte[] xmlData)
           
 void parse(java.lang.String filename)
           
 void set(java.lang.String key, java.util.List<Parameters.Value> values)
           
 void set(java.lang.String key, java.lang.String value)
           
 java.util.List<java.lang.String> stringList(java.lang.String key)
           
 java.lang.String toString()
           
 Parameters.Value value()
           
 void write(Parameters.Value value, org.w3c.dom.Document document, org.w3c.dom.Element element)
           
 void write(javax.xml.transform.stream.StreamResult result)
           
 void write(java.lang.String filename)
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Parameters

public Parameters()

Parameters

public Parameters(byte[] xmlData)
           throws java.io.IOException
Creates a Parameters object using XML data.

Parameters:
xmlData -
Throws:
java.io.IOException

Parameters

public Parameters(java.io.File f)
           throws java.io.IOException
Creates a Parameters object using the contents of an XML file.

Parameters:
f - The file to grab XML data from.
Throws:
java.io.IOException

Parameters

public Parameters(Parameters.Value v)

Parameters

public Parameters(java.util.Map<java.lang.String,java.lang.String> map)
Creates a Parameters object based on a key/value map.

Parameters:
map -

Parameters

public Parameters(java.lang.String[] args)
           throws java.io.IOException

Fills in a Parameters object based on command line flags. The flag format is like this:

 --a.b.c=d
 

This is equivalent to:

 >a<>b<>c<d>/c<>/b<>/a<
 

A flag has no equals sign, like this one:

 --a.b.c
 

is equivalent to:

 --a.b.c=True
 

Any argument that doesn't begin with a dash is assumed to be the filename of an XML file. The data from that file data will be added to this object.

Parameters:
args -
Throws:
java.io.IOException
Method Detail

getParseHandler

public Parameters.Parser getParseHandler()

get

public java.lang.String get(java.lang.String key)
Gets the value for this key. You can retrieve a nested value using a path syntax, e.g. get("a/b/c").

Parameters:
key -

get

public java.lang.String get(java.lang.String key,
                            java.lang.String def)
Gets the value for this key. Returns def if key isn't found.

Parameters:
key -
def -

getAsDefault

public java.lang.String getAsDefault(java.lang.String key,
                                     java.lang.String def)
Gets the value for key. If key is not found, returns the value for "default". If "default" isn't found, returns def.

Parameters:
key -
def -
Returns:

get

public boolean get(java.lang.String key,
                   boolean def)
Gets the value for this key, but returning a default value if the key doesn't exist in the object. This method tries to convert the value to boolean. Values starting with 'T', 'Y', or a non-zero number are considered to be true; everything else is false.

Parameters:
key -
def -
Returns:

getAsDefault

public boolean getAsDefault(java.lang.String key,
                            boolean def)

get

public long get(java.lang.String key,
                long def)

getAsDefault

public long getAsDefault(java.lang.String key,
                         long def)

get

public double get(java.lang.String key,
                  double def)

getAsDefault

public double getAsDefault(java.lang.String key,
                           double def)

copy

public void copy(java.lang.String key,
                 Parameters other)

copy

public void copy(Parameters other)

clone

public Parameters clone()
Overrides:
clone in class java.lang.Object

add

public void add(java.lang.String key,
                java.util.List<Parameters.Value> values)

add

public void add(java.lang.String key,
                java.lang.String value)

set

public void set(java.lang.String key,
                java.util.List<Parameters.Value> values)

set

public void set(java.lang.String key,
                java.lang.String value)

list

public java.util.List<Parameters.Value> list(java.lang.String key)

stringList

public java.util.List<java.lang.String> stringList(java.lang.String key)

value

public Parameters.Value value()

containsKey

public boolean containsKey(java.lang.String key)

parse

public void parse(java.lang.String filename)
           throws java.io.IOException
Throws:
java.io.IOException

parse

public void parse(byte[] xmlData)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(Parameters.Value value,
                  org.w3c.dom.Document document,
                  org.w3c.dom.Element element)

write

public void write(javax.xml.transform.stream.StreamResult result)
           throws java.io.IOException
Throws:
java.io.IOException

write

public void write(java.lang.String filename)
           throws java.io.IOException
Throws:
java.io.IOException

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isEmpty

public boolean isEmpty()


Copyright © 2009. All Rights Reserved.