net.corda.core.contracts

## Interface LinearState

- All Superinterfaces:
    ContractState
  All Known Subinterfaces:
    DealState, FixableDealState
  All Known Implementing Classes:
    DummyLinearContract.State, DummyDealContract.State

      public LinearState
      extends ContractState

  A state that evolves by superseding itself, all of which share the common "linearId".

  This simplifies the job of tracking the current version of certain types of state in e.g. a vault.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `LinearState.ClauseVerifier<S extends LinearState,C extends CommandData>` Standard clause to verify the LinearState safety properties.

  - ### Method Summary

    All Methods Instance Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `UniqueIdentifier` | `getLinearId()` Unique id shared by all LinearState states throughout history within the vaults of all parties. Verify methods should check that one input and one output share the id in a transaction, except at issuance/termination.
    `boolean` | `isRelevant(java.util.Set<? extends java.security.PublicKey> ourKeys)` True if this should be tracked by our vault(s).

    - ### Methods inherited from interface net.corda.core.contracts.ContractState

      `getContract, getParticipants`

- - ### Method Detail

    - #### getLinearId

          UniqueIdentifier getLinearId()

      Unique id shared by all LinearState states throughout history within the vaults of all parties. Verify methods should check that one input and one output share the id in a transaction, except at issuance/termination.

    - #### isRelevant

          boolean isRelevant(java.util.Set<? extends java.security.PublicKey> ourKeys)

      True if this should be tracked by our vault(s).