Package org.openscience.cdk.debug
Class DebugChemObjectBuilder
java.lang.Object
org.openscience.cdk.debug.DebugChemObjectBuilder
- All Implemented Interfaces:
IChemObjectBuilder
A helper class to instantiate a
IChemObject
for the original CDK
implementation. The factory create debug objects which will log their
behaviour when used.
IChemObjectBuilder builder = DebugChemObjectBuilder.getInstance();
IAtom a = builder.newInstance(IAtom.class);
IAtom c12 = builder.newInstance(IAtom.class, "C");
IAtom c13 = builder.newInstance(IAtom.class,
builder.newInstance(IIsotope.class,
"C", 13));
- Author:
- egonw, john may
- Source code:
- main
- Belongs to CDK module:
- datadebug
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic IChemObjectBuilder
Access the singleton instance of this DebugChemObjectBuilder.newAtom()
Create a new atom using the default constructor.Create a new atom container using the default constructor.newBond()
Create a new bond using the default constructor.<T extends ICDKObject>
TnewInstance
(Class<T> clazz, Object... params) Creates a new instance of anICDKObject
, using the constructor defined by the given parameters.Create a new reaction using the default constructor.
-
Constructor Details
-
DebugChemObjectBuilder
public DebugChemObjectBuilder()
-
-
Method Details
-
getInstance
Access the singleton instance of this DebugChemObjectBuilder.// get the builder instance IChemObjectBuilder builder = DebugChemObjectBuilder.getInstance(); // using the builder... // create an IAtom using the default constructor IAtom atom = builder.newInstance(IAtom.class); // create a carbon atom IAtom c1 = builder.newInstance(IAtom.class, "C");
- Returns:
- a DebugChemObjectBuilder instance
-
newInstance
public <T extends ICDKObject> T newInstance(Class<T> clazz, Object... params) throws IllegalArgumentException Creates a new instance of anICDKObject
, using the constructor defined by the given parameters.- Specified by:
newInstance
in interfaceIChemObjectBuilder
- Type Parameters:
T
- Class of an interface extendingICDKObject
orICDKObject
itself.- Parameters:
clazz
- Interface class to instantiate an instance for.params
- Parameters passed to the constructor of the created instance.- Returns:
- Instance created.
- Throws:
IllegalArgumentException
- Exception thrown when theIChemObjectBuilder
builder cannot instantiate theclazz
with the given parameters.
-
newAtom
Create a new atom using the default constructor. This method is considerably faster than the dynamic dispatch ofnewInstance(IAtom.class)
and should be used for high throughput applications (e.g. IO).- Specified by:
newAtom
in interfaceIChemObjectBuilder
- Returns:
- new atom
-
newBond
Create a new bond using the default constructor. This method is considerably faster than the dynamic dispatch ofnewInstance(IBond.class)
and should be used for high throughput applications (e.g. IO).- Specified by:
newBond
in interfaceIChemObjectBuilder
- Returns:
- new bond
-
newAtomContainer
Create a new atom container using the default constructor. This method is considerably faster than the dynamic dispatch ofnewInstance(IAtomContainer.class)
and should be used for high throughput applications (e.g. IO).- Specified by:
newAtomContainer
in interfaceIChemObjectBuilder
- Returns:
- the new atom container
-
newReaction
Create a new reaction using the default constructor. This method is considerably faster than the dynamic dispatch ofnewInstance(IReaction.class)
and should be used for high throughput applications (e.g. IO).- Specified by:
newReaction
in interfaceIChemObjectBuilder
- Returns:
- the new reaction
-