de.unihalle.informatik.Alida.dataio.provider.cmdline
Class ALDParametrizedClassDataIOCmdline
java.lang.Object
de.unihalle.informatik.Alida.dataio.provider.cmdline.ALDStandardizedDataIOCmdline
de.unihalle.informatik.Alida.dataio.provider.cmdline.ALDParametrizedClassDataIOCmdline
- All Implemented Interfaces:
- ALDDataIO, ALDDataIOCmdline
@ALDDataIOProvider
public class ALDParametrizedClassDataIOCmdline
- extends ALDStandardizedDataIOCmdline
DataIO provider for parametrized classes from command line.
As this provider extends ALDStandardizedDataIOCmdline
it
implements the Alida syntax conventions.
Reading is done only for parameters annotated
with ALDClassParameter
.
Either all annotated parameters are written/formated or a
subset as specified by a format string.
- Author:
- posch
Method Summary |
java.lang.String |
formatAsString(java.lang.Object obj)
Generic formater to string of parametrized classes. |
java.lang.String |
formatAsString(java.lang.Object obj,
java.lang.String formatString)
Format all parameters of this parametrized class annotated
with ALDClassParameter
into a string. |
java.lang.Object |
parse(java.lang.reflect.Field field,
java.lang.Class<?> cl,
java.lang.String valueString)
Generic parser for parametrized classes. |
java.util.Collection<java.lang.Class<?>> |
providedClasses()
Interface method to announce class for which IO is provided for |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ALDParametrizedClassDataIOCmdline
public ALDParametrizedClassDataIOCmdline()
formatAsString
public java.lang.String formatAsString(java.lang.Object obj)
- Generic formater to string of parametrized classes.
Output all annotated members of the class annotated
with
ALDClassParameter
.
- Specified by:
formatAsString
in class ALDStandardizedDataIOCmdline
- Parameters:
obj
- object to format
- Returns:
- string representations of the object
formatAsString
public java.lang.String formatAsString(java.lang.Object obj,
java.lang.String formatString)
- Format all parameters of this parametrized class annotated
with
ALDClassParameter
into a string.
If formatString
starts with a curly bracket it is assume
to contained a comma seprated list of name=valueString pairs enclosed in a
matching curly brackets.
In this case, only the (annotated) members named in this list are formated where the valueString
is passed to the writeData
of the dataIO provider handling the parameter's type.
If formatString
does not start with a curly bracket all annotated
members are formated.
- Overrides:
formatAsString
in class ALDStandardizedDataIOCmdline
- Parameters:
obj
- parametrized class to be formatedformatString
-
parse
public java.lang.Object parse(java.lang.reflect.Field field,
java.lang.Class<?> cl,
java.lang.String valueString)
- Generic parser for parametrized classes.
For the class of the object to be read see
ALDDataIOCmdline
.
As a valueString
a comma separated list of name=value pairs enclosed in curly brackets
is expected. Each name has to be a member of the class or a super class which is annotated
with ALDClassParameter
.
The readData
method of the provider for the class of the member variable
is used to read the objects value from value
.
- Specified by:
parse
in class ALDStandardizedDataIOCmdline
- Parameters:
field
- Field of object to be returnedcl
- Class of object to be returned.valueString
- Source from where to read data (e.g. a filename).
- Returns:
- Object read from valueString
- See Also:
ALDDataIOManagerCmdline
providedClasses
public java.util.Collection<java.lang.Class<?>> providedClasses()
- Interface method to announce class for which IO is provided for
- Returns:
- Collection of classes provided