public class ClassList<T>
extends java.lang.Object
ImageReader or
 ImageWriter, parsed from a configuration file such as readers.txt
 or writers.txt.
 
 When constructing a ClassList object, each line of the
 configuration file is parsed using the following rules:
 
 For instance, constructing a ClassList object using the absolute
 path to a configuration file containing the following lines:
 
# List of classes package1.class1 package2.class2 # a simple class package3.class3[key1=value1,key2=value2] # a class with optionswill attempt to create a list of three classes . Additionally, if the last class is added, two key/value pairs will be stored in the options map: package3.class3.key1=value and package3.class3.key2=value2.
| Modifier and Type | Field and Description | 
|---|---|
private java.lang.Class<T> | 
base
Base class to which all classes are assignable. 
 | 
private java.util.List<java.lang.Class<? extends T>> | 
classes
List of classes. 
 | 
private static java.lang.String[] | 
KEYS  | 
private static org.slf4j.Logger | 
LOGGER  | 
private java.util.Map<java.lang.String,java.lang.String> | 
options
List of options. 
 | 
| Constructor and Description | 
|---|
ClassList(java.lang.Class<T> base)
Constructs a list of classes, initially empty. 
 | 
ClassList(java.lang.String file,
         java.lang.Class<T> base)
Constructs a list of classes from the given configuration file. 
 | 
ClassList(java.lang.String file,
         java.lang.Class<T> base,
         java.lang.Class<?> location)
Constructs a list of classes from the given configuration file. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
addClass(java.lang.Class<? extends T> c)
Adds the given class, which must be assignable
 to the base class, to the list. 
 | 
void | 
addClass(int index,
        java.lang.Class<? extends T> c)
Adds the given class, which must be assignable
 to the base class, to the list. 
 | 
void | 
addOption(java.lang.String key,
         java.lang.String value)
Add a key/value pair to the list of options. 
 | 
void | 
append(ClassList<T> c)
Appends a class list which must be assignable to the base class 
 | 
void | 
append(java.util.List<java.lang.Class<? extends T>> l)
Appends a list of classes which must be assignable to the base class 
 | 
private java.lang.Class<? extends T> | 
cast(java.lang.Class<?> rawClass)
Cast the given class to something that extends the base class. 
 | 
java.lang.Class<? extends T>[] | 
getClasses()
Gets the list of classes as an array. 
 | 
java.util.Map<java.lang.String,java.lang.String> | 
getOptions()
Gets the list of options as a map. 
 | 
boolean | 
isWhitelistedKey(java.lang.String s)
Returns whether a given key is a whitelisted option. 
 | 
void | 
parseFile(java.lang.String file,
         java.lang.Class<?> location)
Parses a list of classes from a configuration file. 
 | 
void | 
parseLine(java.lang.String line)
Parses a class from a string including options and comments. 
 | 
java.util.Map<java.lang.String,java.lang.String> | 
parseOptions(java.lang.String s)
Parses one or more options from a string. 
 | 
void | 
prepend(ClassList<T> c)
Prepends a class list which must be assignable to the base class 
 | 
void | 
prepend(java.util.List<java.lang.Class<? extends T>> l)
Prepends a list of classes which must be assignable to the base class 
 | 
void | 
removeClass(java.lang.Class<? extends T> c)
Removes the given class from the list. 
 | 
private static final org.slf4j.Logger LOGGER
private static final java.lang.String[] KEYS
private java.lang.Class<T> base
private java.util.List<java.lang.Class<? extends T>> classes
private java.util.Map<java.lang.String,java.lang.String> options
public ClassList(java.lang.Class<T> base)
base - Base class to which all classes are assignable.public ClassList(java.lang.String file,
                 java.lang.Class<T> base)
          throws java.io.IOException
file - Configuration file containing the list of classes.base - Base class to which all classes are assignable.java.io.IOException - if the file cannot be read.public ClassList(java.lang.String file,
                 java.lang.Class<T> base,
                 java.lang.Class<?> location)
          throws java.io.IOException
file - Configuration file containing the list of classes.base - Base class to which all classes are assignable.location - Class indicating which package to search for the file.
        If null, 'file' is interpreted as an absolute path name.java.io.IOException - if the file cannot be read.public java.util.Map<java.lang.String,java.lang.String> parseOptions(java.lang.String s)
s - A string containing a series of options formatted as
           key1=value1,key2=value2.public void parseLine(java.lang.String line)
line - A string containing the class, options and commentspublic void parseFile(java.lang.String file,
                      java.lang.Class<?> location)
               throws java.io.IOException
file - Configuration file containing the list of classes.location - Class indicating which package to search for the file.
        If null, 'file' is interpreted as an absolute path name.java.io.IOException - if the file cannot be read.public void addClass(int index,
                     java.lang.Class<? extends T> c)
public void addClass(java.lang.Class<? extends T> c)
public void removeClass(java.lang.Class<? extends T> c)
public void append(ClassList<T> c)
public void append(java.util.List<java.lang.Class<? extends T>> l)
public void prepend(ClassList<T> c)
public void prepend(java.util.List<java.lang.Class<? extends T>> l)
public java.lang.Class<? extends T>[] getClasses()
public java.util.Map<java.lang.String,java.lang.String> getOptions()
public boolean isWhitelistedKey(java.lang.String s)
public void addOption(java.lang.String key,
                      java.lang.String value)
private java.lang.Class<? extends T> cast(java.lang.Class<?> rawClass)
rawClass - the class to be castCopyright © 2019 Open Microscopy Environment