net.corda.finance.contracts
Keywords: net.corda.finance.contracts package
Date: 2023-09-18

# Package net.corda.finance.contracts

- Interface Summary
  Interface | Description
  --- | ---
  BilateralNettableState<N extends BilateralNettableState<N>> | Interface for state objects that support being netted with other state objects.
  DealState | Interface representing an agreement that exposes various attributes that are common. Implementing it simplifies implementation of general flows that manipulate many agreement types.
  FixableDealState | Interface adding fixing specific methods.
  MultilateralNettableState<T> | Interface for state objects that support being netted with other state objects.
  NetCommand | A common netting command for contracts whose states can be netted.
  NettableState<N extends BilateralNettableState<N>,T> |

- Class Summary
  Class | Description
  --- | ---
  BusinessCalendar | A business calendar performs date calculations that take into account national holidays and weekends. This is a typical feature of financial contracts, in which a business may not want a payment event to fall on a day when no staff are around to handle problems.
  CommercialPaper |
  CommercialPaperKt |
  Commodity | Class representing a commodity, as an equivalent to the Currency class. This exists purely to enable the CommodityContract contract, and is likely to change in future.
  Expression | Represents a textual expression of e.g. a formula
  Fix | A `class Fix` represents a named interest rate, on a given day, for a given duration. It can be embedded in a tx.
  FixOf | A `class FixOf` identifies the question side of a fix: what day, tenor and type of fix ("LIBOR", "EURIBOR" etc)
  Tenor | Placeholder class for the Tenor datatype - which is a standardised duration of time until maturity

- Enum Summary
  Enum | Description
  --- | ---
  AccrualAdjustment | Simple enum for returning accurals adjusted or unadjusted. We don't actually do anything with this yet though, so it's ignored for now.
  DateRollConvention | This reflects what happens if a date on which a business event is supposed to happen actually falls upon a non-working day. Depending on the accounting requirement, we can move forward until we get to a business day, or backwards. There are some additional rules which are explained in the individual cases below.
  DateRollDirection | This is utilised in the `enum DateRollConvention` class to determine which way we should initially step when finding a business day.
  DayCountBasisDay | This forms the day part of the "Day Count Basis" used for interest calculation. Note that the first character cannot be a number (enum naming constraints), so we drop that in the toString lest some people get confused.
  DayCountBasisYear | This forms the year part of the "Day Count Basis" used for interest calculation.
  Frequency | Frequency at which an event occurs - the enumerator also casts to an integer specifying the number of times per year that would divide into (eg annually = 1, semiannual = 2, monthly = 12 etc).
  NetType | Enum for the types of netting that can be applied to state objects. Exact behaviour for each type of netting is left to the contract to determine.
  PaymentRule | Whether the payment should be made before the due date, or after it.