net.dpml.cli.validation

Class ClassValidator

public class ClassValidator extends Object implements Validator

The ClassValidator validates the string argument values are class names. The following example shows how to validate the 'logger' argument value is a class name, that can be instantiated.
 ...
 ClassValidator validator = new ClassValidator();
 validator.setInstance(true);

 ArgumentBuilder builder = new ArgumentBuilder();
 Argument logger =
     builder.withName("logger");
            .withValidator(validator);
 

Version: @PROJECT-VERSION@

Author: @PUBLISHER-NAME@

Method Summary
ClassLoadergetClassLoader()
Returns the ClassLoader used to resolve and load the classes specified by the argument values.
booleanisInstance()
Returns whether the argument value must represent a class that can be instantiated.
booleanisLoadable()
Returns whether the argument value must represent a class that is loadable.
protected booleanisPotentialClassName(String name)
Returns whether the specified name is allowed as a Java class name.
voidsetClassLoader(ClassLoader loader)
Specifies the ClassLoader used to resolve and load the classes specified by the argument values.
voidsetInstance(boolean instance)
Specifies whether the argument value must represent a class that can be instantiated.
voidsetLoadable(boolean loadable)
Specifies whether the argument value must represent a class that is loadable.
voidvalidate(List values)
Validate each argument value in the specified List against this instances permitted attributes.

Method Detail

getClassLoader

public ClassLoader getClassLoader()
Returns the ClassLoader used to resolve and load the classes specified by the argument values.

Returns: the ClassLoader used to resolve and load the classes specified by the argument values.

isInstance

public boolean isInstance()
Returns whether the argument value must represent a class that can be instantiated.

Returns: whether the argument value must represent a class that can be instantiated.

isLoadable

public boolean isLoadable()
Returns whether the argument value must represent a class that is loadable.

Returns: whether the argument value must represent a class that is loadable.

isPotentialClassName

protected boolean isPotentialClassName(String name)
Returns whether the specified name is allowed as a Java class name.

Parameters: name the potential classname

Returns: true if the name is a potential classname

setClassLoader

public void setClassLoader(ClassLoader loader)
Specifies the ClassLoader used to resolve and load the classes specified by the argument values.

Parameters: loader the ClassLoader used to resolve and load the classes specified by the argument values.

setInstance

public void setInstance(boolean instance)
Specifies whether the argument value must represent a class that can be instantiated.

Parameters: instance whether the argument value must represent a class that can be instantiated.

setLoadable

public void setLoadable(boolean loadable)
Specifies whether the argument value must represent a class that is loadable.

Parameters: loadable whether the argument value must represent a class that is loadable.

validate

public void validate(List values)
Validate each argument value in the specified List against this instances permitted attributes. If a value is valid then it's String value in the list is replaced with it's Class value or instance.

Parameters: values the list of values to validate

Throws: InvalidArgumentException if a value is invalid

See Also: validate