Interface FungibleState

  • All Implemented Interfaces:
    net.corda.core.contracts.ContractState

    
    public interface FungibleState<T extends Object>
     implements ContractState
                        

    Interface to represent things which are fungible, this means that there is an expectation that these things can be split and merged. That's the only assumption made by this interface.

    This interface has been defined in addition to FungibleAsset to provide some additional flexibility which FungibleAsset lacks, in particular:

    • FungibleAsset defines an amount property of type Amount<Issued<T>>, therefore there is an assumption that all fungible things are issued by a single well known party but this is not always the case. For example, crypto-currencies like Bitcoin are generated periodically by a pool of pseudo-anonymous miners and Corda can support such crypto-currencies.

    • FungibleAsset implements OwnableState, as such there is an assumption that all fungible things are ownable. This is not always true as fungible derivative contracts exist, for example.

    The expectation is that this interface should be combined with the other core state interfaces such as OwnableState and others created at the application layer.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      abstract Amount<T> getAmount() Amount represents a positive quantity of some token which can be cash, tokens, stock, agreements, or generally anything else that's quantifiable with integer quantities.
      • Methods inherited from class net.corda.core.contracts.ContractState

        getParticipants
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • getAmount

         abstract Amount<T> getAmount()

        Amount represents a positive quantity of some token which can be cash, tokens, stock, agreements, or generally anything else that's quantifiable with integer quantities. See Amount for more details.