Class SecurityId

  • All Implemented Interfaces:
    ReferenceDataId<Security>, Serializable

    public final class SecurityId
    extends Object
    implements ReferenceDataId<Security>, Serializable
    An identifier for a security.

    This identifier is used to obtain a Security from ReferenceData.

    A security identifier uniquely identifies a security within the system. A real-world security will typically have multiple identifiers. The only restriction placed on the identifier is that it is sufficiently unique for the reference data lookup. As such, it is acceptable to use an identifier from a well-known global or vendor symbology.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static SecurityId of​(String scheme,
                                    String value)
        Obtains an instance from a scheme and value.

        The scheme and value are used to produce a StandardId, where more information is available on how schemes and values relate to industry identifiers.

        The scheme must be non-empty and match the regular expression '[A-Za-z0-9:/+.=_-]*'. This permits letters, numbers, colon, forward-slash, plus, dot, equals, underscore and dash. If necessary, the scheme can be encoded using StandardId.encodeScheme(String).

        The value must be non-empty and match the regular expression '[!-z][ -z]*'.

        Parameters:
        scheme - the scheme of the identifier, not empty
        value - the value of the identifier, not empty
        Returns:
        the security identifier
        Throws:
        IllegalArgumentException - if the scheme or value is invalid
      • of

        public static SecurityId of​(StandardId standardId)
        Creates an instance from a standard two-part identifier.
        Parameters:
        standardId - the underlying standard two-part identifier
        Returns:
        the security identifier
      • parse

        public static SecurityId parse​(String str)
        Parses an StandardId from a formatted scheme and value.

        This parses the identifier from the form produced by toString() which is '$scheme~$value'.

        Parameters:
        str - the identifier to parse
        Returns:
        the security identifier
        Throws:
        IllegalArgumentException - if the identifier cannot be parsed
      • getStandardId

        public StandardId getStandardId()
        Gets the standard two-part identifier.
        Returns:
        the standard two-part identifier
      • getReferenceDataType

        public Class<Security> getReferenceDataType()
        Gets the type of data this identifier refers to.

        A SecurityId refers to a Security.

        Specified by:
        getReferenceDataType in interface ReferenceDataId<Security>
        Returns:
        the type of the reference data this identifier refers to
      • equals

        public boolean equals​(Object obj)
        Checks if this identifier equals another identifier.

        The comparison checks the name.

        Overrides:
        equals in class Object
        Parameters:
        obj - the other identifier, null returns false
        Returns:
        true if equal
      • hashCode

        public int hashCode()
        Returns a suitable hash code for the identifier.
        Overrides:
        hashCode in class Object
        Returns:
        the hash code
      • toString

        public String toString()
        Returns the identifier in a standard string format.

        The returned string is in the form '$scheme~$value'. This is suitable for use with parse(String). For example, if the scheme is 'OG-Future' and the value is 'Eurex-FGBL-Mar14' then the result is 'OG-Future~Eurex-FGBL-Mar14'.

        Overrides:
        toString in class Object
        Returns:
        a parsable representation of the identifier