Class UnsupportedProduct

java.lang.Object
net.finmath.modelling.UnsupportedProduct
All Implemented Interfaces:
Serializable, AnalyticProduct, Product

public class UnsupportedProduct extends Object implements Product, AnalyticProduct, Serializable
A product throwing an exception if its getValue method is called. This class can be used to created products trigger an exception only upon valuation (i.e., late).
Version:
1.0
Author:
Christian Fries
See Also:
  • Constructor Details

    • 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 Details

    • 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.
    • toString

      public String toString()
      Overrides:
      toString in class Object