Class CurveInterpolation.Builder

java.lang.Object
net.finmath.marketdata.model.curves.CurveInterpolation.Builder
All Implemented Interfaces:
CurveBuilder
Direct Known Subclasses:
PiecewiseCurve.Builder, SeasonalCurve.Builder
Enclosing class:
CurveInterpolation

public static class CurveInterpolation.Builder extends Object implements CurveBuilder
A builder (following the builder pattern) for CurveFromInterpolationPoints objects. Allows to successively construct a curve object by adding points.
Author:
Christian Fries
  • Constructor Details

    • Builder

      public Builder()
      Build a curve.
    • Builder

      public Builder(String name, LocalDate referenceDate)
      Build a curve with a given name and given reference date.
      Parameters:
      name - The name of this curve.
      referenceDate - The reference date for this curve, i.e., the date which defined t=0.
    • Builder

      public Builder(CurveInterpolation curveInterpolation) throws CloneNotSupportedException
      Build a curve by cloning a given curve.
      Parameters:
      curveInterpolation - A curve to be used as starting point for the new curve.
      Throws:
      CloneNotSupportedException - Thrown, when the curve could not be cloned.
  • Method Details

    • build

      public Curve build() throws CloneNotSupportedException
      Description copied from interface: CurveBuilder
      Build the curve. The method returns the curve object. The builder cannot be used to build another curve. Use clone instead.
      Specified by:
      build in interface CurveBuilder
      Returns:
      The curve according to the specification.
      Throws:
      CloneNotSupportedException - Thrown if the curve could not be build (likely due to a template throwing CloneNotSupportedException.
    • setInterpolationMethod

      public CurveBuilder setInterpolationMethod(CurveInterpolation.InterpolationMethod interpolationMethod)
      Set the interpolation method of the curve.
      Parameters:
      interpolationMethod - The interpolation method of the curve.
      Returns:
      A self reference to this curve build object.
    • setExtrapolationMethod

      public CurveBuilder setExtrapolationMethod(CurveInterpolation.ExtrapolationMethod extrapolationMethod)
      Set the extrapolation method of the curve.
      Parameters:
      extrapolationMethod - The extrapolation method of the curve.
      Returns:
      A self reference to this curve build object.
    • setInterpolationEntity

      public CurveBuilder setInterpolationEntity(CurveInterpolation.InterpolationEntity interpolationEntity)
      Set the interpolationEntity of the curve.
      Parameters:
      interpolationEntity - The interpolation entity of the curve.
      Returns:
      A self reference to this curve build object.
    • addPoint

      public CurveBuilder addPoint(double time, double value, boolean isParameter)
      Description copied from interface: CurveBuilder
      Add a point to the curve.
      Specified by:
      addPoint in interface CurveBuilder
      Parameters:
      time - The time of the corresponding point.
      value - The value of the corresponding point.
      isParameter - A boolean, specifying weather the point should be considered a free parameter (true) or not (false). Fee parameters can be used to create a clone with modified values, see CurveInterpolation.getCloneForParameter(double[])
      Returns:
      A self reference to this curve build object.