RegisterMethods
Date: 2014-08-08

melting.configuration

## Class RegisterMethods

- java.lang.Object
- - melting.configuration.RegisterMethods

-     public class RegisterMethods
      extends java.lang.Object

  This class registers all the methods and models implemented by Melting.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `RegisterMethods.MethodType` Represents a particular type of method (e.g., approximative method, double dangling end method, Mg/Na mix correction method).

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RegisterMethods()` creates a RegisterMethods object with the different initialised HasMaps.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `ThermoResult` | `computeOtherMeltingCorrections(Environment environment)` corrects the melting temperature if other agents are present in the solution (formamide, DMSO, ...)
    `CorrectionMethod` | `getCorrectionMethod(java.lang.String optionName, java.lang.String methodName)` This method is called to get the CorrectionMethod which represents the method 'methodName' entered with the option 'optionName'.
    `CorrectionMethod` | `getIonCorrectionMethod(Environment environment)` This method is called to get the CorrectionMethod which represents the method or model used for the ion correction in the environment 'environment'.
    `MeltingComputationMethod` | `getMeltingComputationMethod(java.util.HashMap<java.lang.String,java.lang.String> optionSet)` This method is called to get the MeltingComputationMethod which represents the method or model for the enthalpy, entropy and melting temperature computation in the HashMap 'optionSet'.
    `RegisterMethods.MethodType` | `getMethodType()` Gets an instance of the `MethodType` enum from the current instance of `RegisterMethods`.
    `SodiumEquivalentMethod` | `getNaEqMethod(java.util.HashMap<java.lang.String,java.lang.String> optionSet)` This method is called to get the SodiumEquivalentMethod which represents the method or model for the sodium equivalence in the HashMap 'optionSet'.
    `PatternComputationMethod` | `getPatternComputationMethod(java.lang.String optionName, java.lang.String methodName)` This method is called to get the PatternComputationMethod which represents the method 'methodName' entered with the option 'optionName'.
    `static RegisterMethods.MethodType` | `makeMethodList()` Creates an instance of the `MethodType` enum, initialized with all the (non-final) methods from the `RegisterMethods` class.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### RegisterMethods

          public RegisterMethods()

      creates a RegisterMethods object with the different initialised HasMaps.

  - ### Method Detail

    - #### getPatternComputationMethod

          public PatternComputationMethod getPatternComputationMethod(java.lang.String optionName,
                                                             java.lang.String methodName)

      This method is called to get the PatternComputationMethod which represents the method 'methodName' entered with the option 'optionName'.
      Parameters:
        `optionName` - : option name
        `methodName` - : method or model name
      Returns:
        PatternComputationMethod object which represents the method 'methodName' entered with the option 'optionName'. If there is no PatternComputationMethod for the method 'methodName' entered with the option 'optionName', a NoExistingMethodException is thrown. If a InstantiationException or a IllegalAccessException is caught, a NoExistingMethodException is thrown.

    - #### getNaEqMethod

          public SodiumEquivalentMethod getNaEqMethod(java.util.HashMap<java.lang.String,java.lang.String> optionSet)

      This method is called to get the SodiumEquivalentMethod which represents the method or model for the sodium equivalence in the HashMap 'optionSet'.
      Parameters:
        `optionSet` - : contains the options (default options and options entered by the user)
      Returns:
        SodiumEquivalentMethod object which represents the method or model for the sodium equivalence in the HashMap 'optionSet'. If there is no SodiumEquivalentMethod for the method 'methodName' entered with the option 'optionName', a NoExistingMethodException is thrown. If a InstantiationException or a IllegalAccessException is caught, a NoExistingMethodException is thrown. If the method is not applicable with the options present in 'optionSet', a MethodNotApplicableException

    - #### getIonCorrectionMethod

          public CorrectionMethod getIonCorrectionMethod(Environment environment)

      This method is called to get the CorrectionMethod which represents the method or model used for the ion correction in the environment 'environment'. If no ion correction method is specified by the user, the ion correction will be selected depending on the algorithm from Owczarzy et al. (2008)
      Parameters:
        `environment` -
      Returns:
        CorrectionMethod object which represents the method or model used for the ion correction in the environment 'environment'. If there is no SodiumEquivalentMethod for the method 'methodName' entered with the option 'optionName', a NoExistingMethodException is thrown. If a InstantiationException or a IllegalAccessException is caught, a NoExistingMethodException is thrown.

    - #### getMeltingComputationMethod

          public MeltingComputationMethod getMeltingComputationMethod(java.util.HashMap<java.lang.String,java.lang.String> optionSet)

      This method is called to get the MeltingComputationMethod which represents the method or model for the enthalpy, entropy and melting temperature computation in the HashMap 'optionSet'.
      Parameters:
        `optionSet` - : contains the options (default options and options entered by the user)
      Returns:
        MeltingComputationMethod object which represents the method or model for the enthalpy, entropy and melting temperature computation in the HashMap 'optionSet'. If there is no SodiumEquivalentMethod for the method 'methodName' entered with the option 'optionName', a NoExistingMethodException is thrown. If a InstantiationException or a IllegalAccessException is caught, a NoExistingMethodException is thrown. If the method is not applicable with the options present in 'optionSet', a MethodNotApplicableException

    - #### getCorrectionMethod

          public CorrectionMethod getCorrectionMethod(java.lang.String optionName,
                                             java.lang.String methodName)

      This method is called to get the CorrectionMethod which represents the method 'methodName' entered with the option 'optionName'.
      Parameters:
        `optionName` - : option name
        `methodName` - : method or model name
      Returns:
        CorrectionMethod object which represents the method 'methodName' entered with the option 'optionName'. If there is no PatternComputationMethod for the method 'methodName' entered with the option 'optionName', a NoExistingMethodException is thrown. If a InstantiationException or a IllegalAccessException is caught, a NoExistingMethodException is thrown.

    - #### computeOtherMeltingCorrections

          public ThermoResult computeOtherMeltingCorrections(Environment environment)

      corrects the melting temperature if other agents are present in the solution (formamide, DMSO, ...)
      Parameters:
        `environment` -
      Returns:
        ThermoResult which contains the corrected melting temperature.

    - #### getMethodType

          public RegisterMethods.MethodType getMethodType()

      Gets an instance of the `MethodType` enum from the current instance of `RegisterMethods`.
      Returns:
        An instance of the `MethodType` enum, with non-final values filled in.

    - #### makeMethodList

          public static RegisterMethods.MethodType makeMethodList()

      Creates an instance of the `MethodType` enum, initialized with all the (non-final) methods from the `RegisterMethods` class.
      Returns:
        An instance of the `MethodType` enum, with non-final values filled in.