intarsys runtime library

de.intarsys.tools.functor
Class DeclaredArgs

java.lang.Object
  extended by de.intarsys.tools.functor.DeclaredArgs
All Implemented Interfaces:
IArgs

public class DeclaredArgs
extends Object
implements IArgs

This IArgs implementation allows the declaration of arguments.

The declaration is matched against the actual arguments defined in args. The declaration defines a mapping from indexed to named and AND vice versa.

If we have indexed args, a declaration associates a name with the argument in the sequence of declaration.

If we have named args, a declaration defines the index of the argument with the same name.


Field Summary
 
Fields inherited from interface de.intarsys.tools.functor.IArgs
ARG_ARGS
 
Method Summary
 void add(Object object)
           
 void clear()
           
static DeclaredArgs createStrict(IArgs args)
           
static DeclaredArgs createStrictIfDeclared(IArgs args)
           
static DeclaredArgs createTransparent(IArgs args)
           
 Object get(int pIndex)
          The argument at position index.
 Object get(int pIndex, Object defaultValue)
          The argument at position index
 Object get(String name)
          The argument named name.
 Object get(String name, Object defaultValue)
          The argument named name or the defaultValue if not available.
 IArgs getArgsIn()
           
 boolean isDefined(int index)
          true if an argument at index is defined.
 boolean isDefined(String name)
          true if an argument named name is defined.
 boolean isIndexed()
          true if this argument list is indexed.
 boolean isNamed()
          true if this argument list is named.
 Set names()
          The set of all argument names in the argument list if this argument list is not indexed or null.
 void put(int index, Object value)
           
 void put(String name, Object value)
           
 int size()
          The total number of arguments.
 String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Method Detail

createStrict

public static DeclaredArgs createStrict(IArgs args)

createStrictIfDeclared

public static DeclaredArgs createStrictIfDeclared(IArgs args)

createTransparent

public static DeclaredArgs createTransparent(IArgs args)

add

public void add(Object object)
Specified by:
add in interface IArgs

clear

public void clear()
Specified by:
clear in interface IArgs

get

public Object get(int pIndex)
Description copied from interface: IArgs
The argument at position index.

Specified by:
get in interface IArgs
Parameters:
pIndex - The index of the argument to return.
Returns:
The argument at position index.

get

public Object get(int pIndex,
                  Object defaultValue)
Description copied from interface: IArgs
The argument at position index

Specified by:
get in interface IArgs
Parameters:
pIndex - The index of the argument to return.
defaultValue - The default value to be returned if argument is not available.
Returns:
The argument at position index

get

public Object get(String name)
Description copied from interface: IArgs
The argument named name.

Specified by:
get in interface IArgs
Parameters:
name - The name of the argument to return.
Returns:
The argument named name .

get

public Object get(String name,
                  Object defaultValue)
Description copied from interface: IArgs
The argument named name or the defaultValue if not available.

Specified by:
get in interface IArgs
Parameters:
name - The name of the argument to return.
defaultValue - The default value to be returned if argument is not available.
Returns:
The argument named name

getArgsIn

public IArgs getArgsIn()

isDefined

public boolean isDefined(int index)
Description copied from interface: IArgs
true if an argument at index is defined.

Specified by:
isDefined in interface IArgs
Returns:
true if an argument at index is defined.

isDefined

public boolean isDefined(String name)
Description copied from interface: IArgs
true if an argument named name is defined.

Specified by:
isDefined in interface IArgs
Returns:
true if an argument named name is defined.

isIndexed

public boolean isIndexed()
Description copied from interface: IArgs
true if this argument list is indexed. This means its elements are available via integer indexes.

This does NOT mean the arguments are not available via names - there are implementations that can support both.

Specified by:
isIndexed in interface IArgs
Returns:
true if this argument list is indexed.

isNamed

public boolean isNamed()
Description copied from interface: IArgs
true if this argument list is named. This means its elements are available via names.

This does NOT mean the arguments are not available via indexes - there are implementations that can support both.

Specified by:
isNamed in interface IArgs
Returns:
true if this argument list is named.

names

public Set names()
Description copied from interface: IArgs
The set of all argument names in the argument list if this argument list is not indexed or null.

Specified by:
names in interface IArgs
Returns:
The set of all argument names in the argument list if this argument list is not indexed or null.

put

public void put(int index,
                Object value)
Specified by:
put in interface IArgs

put

public void put(String name,
                Object value)
Specified by:
put in interface IArgs

size

public int size()
Description copied from interface: IArgs
The total number of arguments.

Specified by:
size in interface IArgs
Returns:
The total number of arguments.

toString

public String toString()
Overrides:
toString in class Object

intarsys runtime library

Copyright © 2008 intarsys consulting GmbH. All Rights Reserved.