Class StandardizerActionFactory


  • @PublicAPI
    public class StandardizerActionFactory
    extends Object
    Factory of StandardizerAction objects
    Initializes the list of available standardizer action based on the provided factory configuration XML files, defining the factory:
    • Internal list: the factory configuration XML containing the definitions of internal (Chemaxon defined) standardizer actions, that should be available using the factory
    • External list: the factory configuration XML containing the definitions of external (user defined) standardizer actions, that should be available using the factory
    The schema of the definition XML is defined by the DEFAULT_CONFIGURATION_SCHEMA:
     
     <?xml version="1.0" encoding="UTF-8"?>
     <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
       <xsd:element name="configuration">
         <xsd:complexType>
           <xsd:sequence maxOccurs="1" minOccurs="1">
             <xsd:element name="bundle">
               <xsd:complexType>
                 <xsd:attribute name="base" type="xsd:string" use="required"/>
               </xsd:complexType>
             </xsd:element>
             <xsd:element name="standardizer-action-list">
               <xsd:complexType>
                 <xsd:sequence maxOccurs="unbounded" minOccurs="0">
                   <xsd:element name="standardizer-action">
                     <xsd:complexType>
                       <xsd:attribute name="id" type="xsd:string" use="required"/>
                       <xsd:attribute name="class" type="xsd:string" use="required"/>
                       <xsd:attribute name="editor-class" type="xsd:string" use="optional"/>
                       <xsd:attribute name="jar" type="xsd:string" use="optional"/>
                     </xsd:complexType>
                   </xsd:element>
                 </xsd:sequence>
               </xsd:complexType>
             </xsd:element>
           </xsd:sequence>
         </xsd:complexType>
       </xsd:element>
     </xsd:schema>
     
     

    The schema defines a factory identifier and the class name for each standardizer actions. The actions can be reached by the following methods:
    Example for Chemaxon's default configuration with pre-configured transformations and user-defined standardizers:
     StandardizerActionFactory.Builder builder = new StandardizerActionFactory.Builder();
     builder.add(StandardizerTest.class.getResourceAsStream(StandardizerActionFactory.DEFAULT_CONFIGURATION_PATH));
     try {
            builder.add(DotfileUtil.open(StandardizerActionFactory.USER_DEFINED_STANDARDIZERCONFIG_XML));
     } catch (IOException e) {
            // no user defined standardizer configuration found
     }
     builder.add(StandardizerTest.class.getResourceAsStream(StandardizerActionFactory.PRE_CONFIGURED_TRANSFORMATIONS));
     StandardizerActionFactory factory = builder.build();
     
    Since:
    5.11
    • Field Detail

      • STANDARDIZERCONFIG_XML

        public static final String STANDARDIZERCONFIG_XML
        Chemaxon's default standardizer action configuration file name
        See Also:
        Constant Field Values
      • USER_DEFINED_STANDARDIZERCONFIG_XML

        public static final String USER_DEFINED_STANDARDIZERCONFIG_XML
        Users standardizer action configuration file name
        See Also:
        Constant Field Values
      • DEFAULT_CONFIGURATION_PATH

        public static final String DEFAULT_CONFIGURATION_PATH
        Chemaxon's default standardizer action configuration path
        See Also:
        Constant Field Values
      • PRE_CONFIGURED_TRANSFORMATIONS

        public static final String PRE_CONFIGURED_TRANSFORMATIONS
        Pre-configured transformation configuration path
        See Also:
        Constant Field Values
      • DEFAULT_CONFIGURATION_SCHEMA

        public static final String DEFAULT_CONFIGURATION_SCHEMA
        Chemaxon's default standardizer action configuration file schema path
        See Also:
        Constant Field Values
    • Constructor Detail

      • StandardizerActionFactory

        public StandardizerActionFactory​(String path,
                                         String externalPath)
        With this constructor inner and external configuration location can be defined.
        Parameters:
        path - the location of the configuration XML for the inner standardizer action classes
        externalPath - the location of the configuration XML for the external standardizer action classes
    • Method Detail

      • getAvailableStandardizerActions

        public List<StandardizerAction> getAvailableStandardizerActions()
        Returns the list of standardizer actions that are available
        Returns:
        the list of standardizer actions that are available with default parameters
      • getStandardizerAction

        public StandardizerAction getStandardizerAction​(String standardizerActionId,
                                                        Map<String,​String> params)
        This method creates a requested (type represented in actionId) StandardizerAction instance with the give parameters
        Parameters:
        standardizerActionId - the Id of the standardizer action
        params - is a Map contains String pairs representing a property bag should be passed to the standardizer action instance
        Returns:
        a well configured StandardizerAction instance
      • writeConfiguration

        public void writeConfiguration​(OutputStream outputstream)
        Writes the factory configuration to the output stream
        Parameters:
        outputstream - the target output stream