Class ConnectionProperty


  • public final class ConnectionProperty
    extends java.lang.Object
    A Jaybird connection property.

    Holds information like name, aliases, default value etc for a Jaybird connection property.

    Since:
    5
    Author:
    Mark Rotteveel
    • Method Detail

      • unknown

        public static ConnectionProperty unknown​(java.lang.String name)
        Creates an unknown connection property.

        An unknown connection property was either not defined but used, or can be used for lookups (given the definition of equals and hashcode). An unknown connection property returned by this method always applies type ConnectionPropertyType.STRING

        Parameters:
        name - Property name
        Returns:
        An unknown property with the specified name
      • name

        public java.lang.String name()
        Returns:
        name of the property
      • aliases

        public java.util.List<java.lang.String> aliases()
        Optional aliases (secondary names) for this property.

        Aliases are alternative names for the property, either for backwards compatibility or for ease of use.

        Returns:
        aliases for this property, empty means no aliases
        See Also:
        name()
      • choices

        public java.util.List<java.lang.String> choices()
        Possible values for this property.
        Returns:
        possible values for this property, or empty when unrestricted
      • validate

        public <T> T validate​(T value)
        Validates value for this property.
        Parameters:
        value - value to validate
        Returns:
        value when validation passed
        Throws:
        java.lang.IllegalArgumentException - When value is not a valid value for this property
      • pbType

        public DpbType pbType()
        Type of the value when sent in the database (or service attach) parameter buffer.
        Returns:
        type for the parameter buffer
      • dpbItem

        public int dpbItem()
        Database parameter buffer (DPB) item associated with this property.
        Returns:
        database parameter buffer item, or NO_DPB_ITEM if no item is associated
        See Also:
        hasDpbItem()
      • hasDpbItem

        public boolean hasDpbItem()
        Returns:
        true if this property has a DPB item
        See Also:
        dpbItem()
      • spbItem

        public int spbItem()
        Service parameter buffer (SPB) item associated with this property.
        Returns:
        service parameter buffer item, or NO_SPB_ITEM if no item is associated
        See Also:
        hasSpbItem()
      • hasSpbItem

        public boolean hasSpbItem()
        Returns:
        true if this property has an SPB item
        See Also:
        spbItem()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)

        Equality (and hash code) only considers the name.

        Use isIdenticalTo(ConnectionProperty) for checking full equality.

        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()

        The hashcode (and equals) only considers the name.

        Overrides:
        hashCode in class java.lang.Object
      • isIdenticalTo

        public boolean isIdenticalTo​(ConnectionProperty other)
        Checks if the provided object is identical to this object.

        This supplements equals(Object) which only checks the name.

        Parameters:
        other - Other connection property object
        Returns:
        true if this is the same object or all fields have the same value, false otherwise