Package uk.ac.starlink.datanode.factory
Class SimpleDataNodeBuilder
java.lang.Object
uk.ac.starlink.datanode.factory.DataNodeBuilder
uk.ac.starlink.datanode.factory.SimpleDataNodeBuilder
An abstract DataNodeBuilder providing a template for builders which
build nodes from instances of a given class. This class doesn't
do anything clever, it's just a convenience for subclasses.
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
SimpleDataNodeBuilder
(Class nodeClass, Class argClass) Construct a new builder which will turn out DataNode of a given class from objects of a given class.protected
SimpleDataNodeBuilder
(String name, Class argClass) Construct a new builder which will turn out DataNodes from objects of a given class (or its subclasses). -
Method Summary
Modifier and TypeMethodDescriptionabstract DataNode
Builds a DataNode from a given object.Returns the class which all nodes returned by theDataNodeBuilder.buildNode(java.lang.Object)
method will belong to.boolean
Determine whether this builder can be used to work on an object of a given class.toString()
Methods inherited from class uk.ac.starlink.datanode.factory.DataNodeBuilder
getBuilders
-
Constructor Details
-
SimpleDataNodeBuilder
Construct a new builder which will turn out DataNodes from objects of a given class (or its subclasses).- Parameters:
name
- the name of this builder - this should normally be the classname of the DataNodes it will produceargClass
- the class on which this node builder will operate
-
SimpleDataNodeBuilder
Construct a new builder which will turn out DataNode of a given class from objects of a given class. Just invokesSimpleDataNodeBuilder(nodeClass.getName(),argClass)
.- Parameters:
nodeClass
- the class of DataNode objects which this builder will be buildingargClass
- the class on which this node bulider will operate
-
-
Method Details
-
buildNode
Description copied from class:DataNodeBuilder
Builds a DataNode from a given object.- Specified by:
buildNode
in classDataNodeBuilder
- Parameters:
obj
- the object to build a datanode from- Returns:
- a new DataNode made from
obj
- Throws:
NoSuchDataException
- if no new node can be created
-
getNodeClass
Description copied from class:DataNodeBuilder
Returns the class which all nodes returned by theDataNodeBuilder.buildNode(java.lang.Object)
method will belong to. DataNodeBuilder's implementation of this returnsDataNode.class
, but implementations which can be more specific should override this method.- Overrides:
getNodeClass
in classDataNodeBuilder
- Returns:
- superclass of all the classes of DataNode this builder can build
-
suitable
Description copied from class:DataNodeBuilder
Determine whether this builder can be used to work on an object of a given class.- Specified by:
suitable
in classDataNodeBuilder
- Parameters:
objClass
- the class of an object which might be passed as the argument ofbuildNode
- Returns:
- whether it's OK to do that
-
toString
-