Class SilentChemObjectBuilder

java.lang.Object
org.openscience.cdk.silent.SilentChemObjectBuilder
All Implemented Interfaces:
IChemObjectBuilder

public class SilentChemObjectBuilder extends Object implements IChemObjectBuilder
A factory class to provide implementation independent ICDKObjects.

     IChemObjectBuilder builder = SilentChemObjectBuilder.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
See Also:
Source code:
main
Belongs to CDK module:
silent
  • Constructor Details

    • SilentChemObjectBuilder

      public SilentChemObjectBuilder()
  • Method Details

    • getInstance

      public static IChemObjectBuilder getInstance()
      Access the singleton instance of this SilentChemObjectBuilder.
      
      
       // get the builder instance
       IChemObjectBuilder builder = SilentChemObjectBuilder.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 SilentChemObjectBuilder instance
    • newInstance

      public <T extends ICDKObject> T newInstance(Class<T> clazz, Object... params) throws IllegalArgumentException
      Creates a new instance of an ICDKObject, using the constructor defined by the given parameters.
      Specified by:
      newInstance in interface IChemObjectBuilder
      Type Parameters:
      T - Class of an interface extending ICDKObject or ICDKObject 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 the IChemObjectBuilder builder cannot instantiate the clazz with the given parameters.
    • newAtom

      public IAtom newAtom()
      Create a new atom using the default constructor. This method is considerably faster than the dynamic dispatch of newInstance(IAtom.class) and should be used for high throughput applications (e.g. IO).
      Specified by:
      newAtom in interface IChemObjectBuilder
      Returns:
      new atom
    • newBond

      public IBond newBond()
      Create a new bond using the default constructor. This method is considerably faster than the dynamic dispatch of newInstance(IBond.class) and should be used for high throughput applications (e.g. IO).
      Specified by:
      newBond in interface IChemObjectBuilder
      Returns:
      new bond
    • newAtomContainer

      public IAtomContainer newAtomContainer()
      Create a new atom container using the default constructor. This method is considerably faster than the dynamic dispatch of newInstance(IAtomContainer.class) and should be used for high throughput applications (e.g. IO).
      Specified by:
      newAtomContainer in interface IChemObjectBuilder
      Returns:
      the new atom container
    • newReaction

      public IReaction newReaction()
      Create a new reaction using the default constructor. This method is considerably faster than the dynamic dispatch of newInstance(IReaction.class) and should be used for high throughput applications (e.g. IO).
      Specified by:
      newReaction in interface IChemObjectBuilder
      Returns:
      the new reaction