com.r3corda.contracts / InterestRateSwap / State

# State

`data class State : FixableDealState`

The state class contains the 4 major data classes

### Constructors

<init> | `State(fixedLeg: FixedLeg, floatingLeg: FloatingLeg, calculation: Calculation, common: Common, notary: Party)` The state class contains the 4 major data classes

### Properties

calculation | `val calculation: Calculation`
common | `val common: Common`
contract | `val contract: InterestRateSwap` Contract by which the state belongs
fixedLeg | `val fixedLeg: FixedLeg`
floatingLeg | `val floatingLeg: FloatingLeg`
notary | `val notary: Party` Identity of the notary that ensures this state is not used as an input to a transaction more than once
parties | `val parties: Array<Party>` Exposes the Parties involved in a generic way
ref | `val ref: String` Human readable well known reference (e.g. trade reference)
thread | `val thread: <ERROR CLASS>` Unique thread id within the wallets of all parties

### Functions

evaluateCalculation | `fun evaluateCalculation(businessDate: LocalDate, expression: Expression = calculation.expression): Any` For evaluating arbitrary java on the platform
generateAgreement | `fun generateAgreement(): TransactionBuilder` Generate a partial transaction representing an agreement (command) to this deal, allowing a general deal/agreement protocol to generate the necessary transaction for potential implementations
generateFix | `fun generateFix(ptx: TransactionBuilder, oldStateRef: StateRef, fix: Fix): Unit` Generate a fixing command for this deal and fix
isRelevant | `fun isRelevant(ourKeys: Set<PublicKey>): Boolean` true if this should be tracked by our wallet(s)
nextFixingOf | `fun nextFixingOf(): FixOf?` When is the next fixing and what is the fixing for?
prettyPrint | `fun prettyPrint(): String` Just makes printing it out a bit better for those who dont have 80000 column wide monitors.
withPublicKey | `fun withPublicKey(before: Party, after: PublicKey): DealState`

### Extension Functions

exportIRSToCSV | `fun State.exportIRSToCSV(): String`