org.swixml
Class DefaultFactory
java.lang.Object
org.swixml.DefaultFactory
- Factory
public final class DefaultFactory
extends java.lang.Object
The
DefaultFactory
is a default implementation of the
Factory
Interface.
The DefaultFactory registers all setter methods that take a
single producable paramter with a class template
DefaultFactory(Class template) - Creates a new Factory for the given
Class template.
|
Method | getSetter(Class template) - Returns a Setter Method that accepts the given class as a parameter
|
Method | getSetter(String name) - Returns a setter method by name
|
Collection | getSetters()
|
Class | getTemplate()
|
Method | guessSetter(String name) - Returns a setter method by a Attribute name.
|
Object | newInstance() - Create a new component instance
|
Object | newInstance(Object parameter) - Creates a new Object which class is
getTemplate() .
|
Object | newInstance(Object[] parameter) - Creates a new Object which class is
getTemplate() and the constructor
parameter are parameter .
|
protected int | priority(Class type) - Returns a priority ID of the given type based on a priority arrray
|
protected void | registerSetters() - Registers all available setter methods meeting these rules:
- Method name needs to start with set
- Method signature specifies exactly one parameter
- if methods have the same name then super class methods are ignored
- if methods have the same name and are implemented in the same class,
then only the method which parameter type has the highest priority is registered
|
void | removeSetter(Method method) - Remove the given method form the collection of supported setters.
|
parameterPriority
protected Class[] parameterPriority
Priority to resolve method name clashes
DefaultFactory
public DefaultFactory(Class template)
Creates a new Factory for the given Class
template.
template
- Class
Note:
Only setMethods that take a single parameter are considered.
Moreover, to be regsitered, a Converter needs to be available in the ConverterLibrary that can create
instances of the paramter type.
getSetter
public Method getSetter(Class template)
Returns a Setter Method that accepts the given class as a parameter
- getSetter in interface Factory
Method
- setter that accepts the given class as a parameter
org.swixml.Factory.getSetter(java.lang.Class)
getSetter
public Method getSetter(String name)
Returns a setter method by name
- getSetter in interface Factory
name
- String
name of the setter method
Method
- setter method which can be invoked on an object of the template class
guessSetter(String)
, org.swixml.Factory
Typical Use:
Method method = factory.getSetter("set" + Parser.capitalize(attr.getName()));
getSetters
public Collection getSetters()
- getSetters in interface Factory
Collection
containing all available setter methods
getTemplate
public Class getTemplate()
- getTemplate in interface Factory
- class -
Class
the backing class template
guessSetter
public Method guessSetter(String name)
Returns a setter method by a Attribute name. Differently to the getSetter
method, here the attibute
name can be used directly and case doesn't matter.
- guessSetter in interface Factory
name
- String
name of the setter method
Method
- setter method which can invoked on an object of the template class
getSetter
Typical Use:
Method method = factory.getSetter( attr.getName() );
newInstance
public Object newInstance()
throws Exception
Create a new component instance
- newInstance in interface Factory
- instance
Object
a new instance of a template class
newInstance
public Object newInstance(Object parameter)
throws Exception
Creates a new Object which class is
getTemplate()
.
A default costructior is only used if no constructor is available,
accepting the provided parameter
- newInstance in interface Factory
parameter
- Object
, parameter used during construction or initialization.
- instance
Object
a new instance of a template class
newInstance
public Object newInstance(Object[] parameter)
throws InstantiationException,
IllegalAccessException,
InvocationTargetException
Creates a new Object which class is
getTemplate()
and the constructor
parameter are
parameter
.
- newInstance in interface Factory
parameter
- Object[]
the parameter array to be passed into the constructor
Object - the created object, an instance of the template class
priority
protected int priority(Class type)
Returns a priority ID of the given type based on a priority arrray
int
parameter type priority
registerSetters
protected void registerSetters()
Registers all available setter methods meeting these rules:
- Method name needs to start with set
- Method signature specifies exactly one parameter
- if methods have the same name then super class methods are ignored
- if methods have the same name and are implemented in the same class,
then only the method which parameter type has the highest priority is registered
removeSetter
public void removeSetter(Method method)
Remove the given method form the collection of supported setters.
Copyright B) 2002 - 2005 - Wolf Paulus - CarlsbadCubes.com . All rights reserved.