Class TradeInfo

  • All Implemented Interfaces:
    Attributes, PortfolioItemInfo, Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

    public final class TradeInfo
    extends Object
    implements PortfolioItemInfo, org.joda.beans.ImmutableBean, Serializable
    Additional information about a trade.

    This allows additional information about a trade to be associated. It is kept in a separate object as the information is optional for pricing.

    See Also:
    Serialized Form
    • Method Detail

      • empty

        public static TradeInfo empty()
        Obtains an empty instance, with no values or attributes.
        Returns:
        the empty instance
      • of

        public static TradeInfo of​(LocalDate tradeDate)
        Obtains an instance with the specified trade date.
        Parameters:
        tradeDate - the trade date
        Returns:
        the trade information
      • from

        public static TradeInfo from​(PortfolioItemInfo info)
        Obtains an instance based on the supplied info.
        Parameters:
        info - the base info
        Returns:
        the trade information
      • builder

        public static TradeInfoBuilder builder()
        Returns a builder used to create an instance of the bean.
        Returns:
        the builder, not null
      • withId

        public TradeInfo withId​(StandardId identifier)
        Description copied from interface: PortfolioItemInfo
        Returns a copy of this instance with the identifier changed.

        This returns a new instance with the identifier changed. If the specified identifier is null, the existing identifier will be removed. If the specified identifier is non-null, it will become the identifier of the resulting info.

        Specified by:
        withId in interface PortfolioItemInfo
        Parameters:
        identifier - the identifier to set
        Returns:
        a new instance based on this one with the identifier set
      • findAttribute

        public <T> Optional<T> findAttribute​(AttributeType<T> type)
        Description copied from interface: Attributes
        Finds the attribute associated with the specified type.

        This method obtains the specified attribute. This allows an attribute to be obtained if available.

        If the attribute is not found, optional empty is returned.

        Specified by:
        findAttribute in interface Attributes
        Type Parameters:
        T - the type of the result
        Parameters:
        type - the type to find
        Returns:
        the attribute value
      • withAttribute

        public <T> TradeInfo withAttribute​(AttributeType<T> type,
                                           T value)
        Description copied from interface: Attributes
        Returns a copy of this instance with the attribute added.

        This returns a new instance with the specified attribute added. The attribute is added using Map.put(type, value) semantics.

        Specified by:
        withAttribute in interface Attributes
        Specified by:
        withAttribute in interface PortfolioItemInfo
        Type Parameters:
        T - the type of the attribute value
        Parameters:
        type - the type providing meaning to the value
        value - the value
        Returns:
        a new instance based on this one with the attribute added
      • withAttributes

        public TradeInfo withAttributes​(Attributes other)
        Description copied from interface: Attributes
        Returns a copy of this instance with the attributes added.

        This returns a new instance with the specified attributes added. The attributes are added using Map.putAll(type, value) semantics.

        Specified by:
        withAttributes in interface Attributes
        Specified by:
        withAttributes in interface PortfolioItemInfo
        Parameters:
        other - the other instance to copy from
        Returns:
        an instance based on this one with the attributes from the other instance
      • combinedWith

        public TradeInfo combinedWith​(PortfolioItemInfo other)
        Description copied from interface: PortfolioItemInfo
        Combines this info with another.

        If there is a conflict, data from this instance takes precedence. If the other instance is not of the same type, data may be lost.

        Specified by:
        combinedWith in interface PortfolioItemInfo
        Parameters:
        other - the other instance
        Returns:
        the combined instance
      • overrideWith

        public TradeInfo overrideWith​(PortfolioItemInfo other)
        Description copied from interface: PortfolioItemInfo
        Overrides attributes of this info with another.

        If there is a conflict, data from the other instance takes precedence. If the other instance is not of the same type, data may be lost.

        Specified by:
        overrideWith in interface PortfolioItemInfo
        Parameters:
        other - the other instance
        Returns:
        the combined instance
      • toBuilder

        public TradeInfoBuilder toBuilder()
        Returns a builder populated with the values of this instance.
        Returns:
        a builder populated with the values of this instance
      • meta

        public static TradeInfo.Meta meta()
        The meta-bean for TradeInfo.
        Returns:
        the meta-bean, not null
      • metaBean

        public TradeInfo.Meta metaBean()
        Specified by:
        metaBean in interface org.joda.beans.Bean
      • getId

        public Optional<StandardId> getId()
        Gets the primary identifier for the trade, optional.

        The identifier is used to identify the trade. It will typically be an identifier in an external data system.

        A trade may have multiple active identifiers. Any identifier may be chosen here. Certain uses of the identifier, such as storage in a database, require that the identifier does not change over time, and this should be considered best practice.

        Specified by:
        getId in interface PortfolioItemInfo
        Returns:
        the optional value of the property, not null
      • getCounterparty

        public Optional<StandardId> getCounterparty()
        Gets the counterparty identifier, optional.

        An identifier used to specify the counterparty of the trade.

        Returns:
        the optional value of the property, not null
      • getTradeDate

        public Optional<LocalDate> getTradeDate()
        Gets the trade date, optional.
        Returns:
        the optional value of the property, not null
      • getTradeTime

        public Optional<LocalTime> getTradeTime()
        Gets the trade time, optional.
        Returns:
        the optional value of the property, not null
      • getZone

        public Optional<ZoneId> getZone()
        Gets the trade time-zone, optional.
        Returns:
        the optional value of the property, not null
      • getSettlementDate

        public Optional<LocalDate> getSettlementDate()
        Gets the settlement date, optional.
        Returns:
        the optional value of the property, not null
      • getAttributes

        public ImmutableMap<AttributeType<?>,​Object> getAttributes()
        Gets the trade attributes.

        Trade attributes provide the ability to associate arbitrary information in a key-value map.

        Returns:
        the value of the property, not null
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object