Class UnsupportedProduct

    • Constructor Detail

      • UnsupportedProduct

        public UnsupportedProduct​(Exception exception)
        Creates an unsupported product throwing an exception if its getValue method is called.
        Parameters:
        exception - The exception to be thrown if this product is evaluated.
    • Method Detail

      • getValue

        public Object getValue​(double evaluationTime,
                               Model model)
        Description copied from interface: Product
        Return the valuation of the product using the given model. Implement this method using a checked cast of the model to a derived model for which the product provides a valuation algorithm. Example: an interest rate product requires that the passed model object implements the interface of an interest rate model. Since there is no polymorphism on arguments (see Double Dynamic Dispatch), we reply on a checked cast.
        Specified by:
        getValue in interface Product
        Parameters:
        evaluationTime - The evaluation time as double. Cash flows prior and including this time are not considered.
        model - The model under which the product is valued.
        Returns:
        Object containing the value of the product using the given model.
      • getValue

        public double getValue​(double evaluationTime,
                               AnalyticModel model)
        Description copied from interface: AnalyticProduct
        Return the valuation of the product using the given model. The model has to implement the modes of AnalyticModel.
        Specified by:
        getValue in interface AnalyticProduct
        Parameters:
        evaluationTime - The evaluation time as double. Cash flows prior and including this time are not considered.
        model - The model under which the product is valued.
        Returns:
        The value of the product using the given model.
      • getValues

        public Map<String,​Object> getValues​(double evaluationTime,
                                                  Model model)
        Description copied from interface: Product
        Return the valuation of the product using the given model. Implement this method using a checked cast of the model to a derived model for which the product provides a valuation algorithm. Example: an interest rate product requires that the passed model object implements the interface of an interest rate model. Since there is no polymorphism on arguments (see Double Dynamic Dispatch), we reply on a checked cast.
        Specified by:
        getValues in interface Product
        Parameters:
        evaluationTime - The evaluation time as double. Cash flows prior and including this time are not considered.
        model - The model under which the product is valued.
        Returns:
        Map containing the value of the product using the given model.