Class DefaultParameterResolver

  • All Implemented Interfaces:
    ParameterResolver

    public class DefaultParameterResolver
    extends java.lang.Object
    implements ParameterResolver
    The default implementation of a parameter resolver.
    Author:
    Rene Schneider - initial API and implementation
    • Field Detail

      • wrapperFactory

        @Inject(optional=true)
        protected WrapperFactory wrapperFactory
        The wrapper factory to use.
      • variableManager

        @Inject(optional=true)
        protected VariableManager variableManager
        The variable manager to use.
      • standardOperationProcessor

        @Inject
        protected StandardOperationProcessor standardOperationProcessor
        The processor for standard operations.
    • Constructor Detail

      • DefaultParameterResolver

        public DefaultParameterResolver()
    • Method Detail

      • createParameterMap

        public java.util.Map<java.lang.String,​java.lang.Object> createParameterMap​(Test aTest,
                                                                                         boolean anIncludeArbitraryParametersFlag,
                                                                                         UnresolvableVariableHandling anUnresolvableVariableHandlingPolicy)
                                                                                  throws java.lang.ClassNotFoundException,
                                                                                         UnexecutableException,
                                                                                         java.lang.InstantiationException
        Description copied from interface: ParameterResolver
        Returns a map mapping a parameter name to a value, exploring a given Test to determine the valid parameters. Parameters that contain references to variables will be resolved if the variable map is provided, but no type conversions will be done.
        Specified by:
        createParameterMap in interface ParameterResolver
        Parameters:
        aTest - the test
        anIncludeArbitraryParametersFlag - whether arbitrary parameters should be determined and included as well
        anUnresolvableVariableHandlingPolicy - Defines the policy how unresolvable variable references (no variable given or no VariableManager available) shall be treated
        Returns:
        a map with a String to value mapping
        Throws:
        java.lang.ClassNotFoundException
        UnexecutableException
        java.lang.InstantiationException
      • createParameterMap

        public java.util.Map<java.lang.String,​java.lang.Object> createParameterMap​(Call aCall,
                                                                                         boolean anIncludeArbitraryParametersFlag,
                                                                                         UnresolvableVariableHandling anUnresolvableVariableHandlingPolicy)
                                                                                  throws java.lang.ClassNotFoundException,
                                                                                         UnexecutableException,
                                                                                         java.lang.InstantiationException
        Description copied from interface: ParameterResolver
        Returns a map mapping a parameter name to a value, exploring a given Call to determine the valid parameters. Parameters that contain references to variables will be resolved if the variable map is provided, but no type conversions will be done.
        Specified by:
        createParameterMap in interface ParameterResolver
        Parameters:
        aCall - the call
        anIncludeArbitraryParametersFlag - whether arbitrary parameters should be determined and included as well
        anUnresolvableVariableHandlingPolicy - Defines the policy how unresolvable variable references (no variable given or no VariableManager available) shall be treated
        Returns:
        a map with a String to value mapping
        Throws:
        java.lang.ClassNotFoundException
        UnexecutableException
        java.lang.InstantiationException
      • createParameterMap

        public java.util.Map<java.lang.String,​java.lang.Object> createParameterMap​(TableTest aTableTest,
                                                                                         TableTestRow aTableTestRow,
                                                                                         TableTestParameterResolveMethod aResolveMethod,
                                                                                         boolean anIncludeArbitraryParametersFlag,
                                                                                         UnresolvableVariableHandling anUnresolvableVariableHandlingPolicy)
                                                                                  throws java.lang.ClassNotFoundException,
                                                                                         UnexecutableException,
                                                                                         java.lang.InstantiationException
        Description copied from interface: ParameterResolver
        Returns a map mapping a parameter name to a value, exploring a given row of a TableTest to determine the valid parameters. Parameters that contain operations and/or references to variables will be resolved if the variable map is provided, but no type conversions will be done.
        Specified by:
        createParameterMap in interface ParameterResolver
        Parameters:
        aTableTest - the table test
        aTableTestRow - the row of the test
        aResolveMethod - specifies the kind of params to be resolved (null = TableTestParameterResolveMethod.COMBINED)
        anIncludeArbitraryParametersFlag - whether arbitrary parameters should be determined and included as well
        anUnresolvableVariableHandlingPolicy - Defines the policy how unresolvable variable references (no variable given or no VariableManager available) shall be treated
        Returns:
        a map with a String to value mapping
        Throws:
        java.lang.ClassNotFoundException
        UnexecutableException
        java.lang.InstantiationException
      • createParameterMap

        public java.util.Map<java.lang.String,​java.lang.Object> createParameterMap​(java.util.List<Parameter> someParameters,
                                                                                         boolean anIncludeArbitraryParametersFlag,
                                                                                         UnresolvableVariableHandling anUnresolvableVariableHandlingPolicy)
                                                                                  throws java.lang.ClassNotFoundException,
                                                                                         UnexecutableException,
                                                                                         java.lang.InstantiationException
        Description copied from interface: ParameterResolver
        Returns a map mapping a parameter name to a value, using a list of Parameter instances to determine the valid parameters. Parameters that contain operations or references to variables will be resolved if the variable map is provided, but no type conversions will be done.
        Specified by:
        createParameterMap in interface ParameterResolver
        Parameters:
        someParameters - the parameters
        anIncludeArbitraryParametersFlag - whether arbitrary parameters should be determined and included as well
        anUnresolvableVariableHandlingPolicy - Defines the policy how unresolvable variable references (no variable given or no VariableManager available) shall be treated
        Returns:
        a map with a String to value mapping
        Throws:
        java.lang.ClassNotFoundException
        UnexecutableException
        java.lang.InstantiationException
      • resolveStatically

        public java.lang.Object resolveStatically​(Variable aVariable,
                                                  VariantDefinition aVariant)
                                           throws java.lang.ClassNotFoundException,
                                                  java.lang.InstantiationException,
                                                  UnexecutableException
        Description copied from interface: ParameterResolver
        Resolves a variable (recursively, if necessary) to its actual value. Since this static method doesn't have access to the actual variable store of a test runner instance, the resolving can only be successful in cases of variables with initial value (giving that value) or constants.
        Specified by:
        resolveStatically in interface ParameterResolver
        Parameters:
        aVariable - the variable to resolve
        aVariant - the active variant
        Returns:
        the result, or null if none was found
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        UnexecutableException
      • resolveStatically

        public java.lang.Object resolveStatically​(VariableOrConstantEntity anEntity,
                                                  VariantDefinition aVariant)
                                           throws java.lang.ClassNotFoundException,
                                                  java.lang.InstantiationException,
                                                  UnexecutableException
        Description copied from interface: ParameterResolver
        Resolves a variable (recursively, if necessary) to its actual value. Since this static method doesn't have access to the actual variable store of a test runner instance, the resolving can only be successful in cases of variables with initial value (giving that value) or constants.
        Specified by:
        resolveStatically in interface ParameterResolver
        Parameters:
        anEntity - the entity to resolve
        aVariant - the active variant
        Returns:
        the result, or null if none was found
        Throws:
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
        UnexecutableException
      • resolveStatically

        public java.lang.Object resolveStatically​(ConstantDefinition aConstant,
                                                  VariantDefinition aVariant)
                                           throws UnexecutableException,
                                                  java.lang.ClassNotFoundException,
                                                  java.lang.InstantiationException
        Description copied from interface: ParameterResolver
        Resolves a constant definition to its defined value, which may depend on the active variant.
        Specified by:
        resolveStatically in interface ParameterResolver
        Parameters:
        aConstant - the constant to resolve
        aVariant - the active variant
        Returns:
        the result, or null if none is defined for the constant
        Throws:
        UnexecutableException
        java.lang.ClassNotFoundException
        java.lang.InstantiationException
      • createExpectedResultMap

        public java.util.Map<java.lang.String,​java.lang.Object> createExpectedResultMap​(Test aTest,
                                                                                              boolean anIncludeArbitraryResultFlag)
        Description copied from interface: ParameterResolver
        Returns a map of named results as expected by the given Test. The Map will connect result names to actual values. Does not support variable resolving!
        Specified by:
        createExpectedResultMap in interface ParameterResolver
        Parameters:
        aTest - the test
        anIncludeArbitraryResultFlag - whether arbitrary results shall be included
        Returns:
        a map of Strings to values