Class DefaultEncodingDefinition

    • Constructor Detail

      • DefaultEncodingDefinition

        public DefaultEncodingDefinition​(java.lang.String firebirdEncodingName,
                                         java.nio.charset.Charset charset,
                                         int maxBytesPerChar,
                                         int firebirdCharacterSetId,
                                         boolean firebirdOnly)
        Initializes an instance of DefaultEncodingDefinition.
        Parameters:
        firebirdEncodingName - Name of the Firebird encoding
        charset - Java Charset instance (null for information-only instances)
        maxBytesPerChar - Maximum number of bytes per character (eg 1 for ISO8859_1, 4 for UTF8, 3 for UNICODE-FSS)
        firebirdCharacterSetId - Firebird character set id
        firebirdOnly - Mapping only applies from Firebird to Java, but not from Java to Firebird (e.g. Firebird UNICODE-FSS maps to Java UTF-8, but Java UTF-8 does not map to Firebird UNICODE-FSS (but to Firebird UTF8)
      • DefaultEncodingDefinition

        public DefaultEncodingDefinition​(java.lang.String firebirdEncodingName,
                                         java.lang.String charsetName,
                                         int maxBytesPerChar,
                                         int firebirdCharacterSetId,
                                         boolean firebirdOnly)
        Initializes an instance of DefaultEncodingDefinition.

        The actual Java character set is loaded on-demand. If the provided name cannot be resolved to a Charset at on-demand load time, it will be handled as information-only.

        Parameters:
        firebirdEncodingName - Name of the Firebird encoding
        charsetName - Java character set name, or null for information-only instances
        maxBytesPerChar - Maximum number of bytes per character (eg 1 for ISO8859_1, 4 for UTF8, 3 for UNICODE-FSS)
        firebirdCharacterSetId - Firebird character set id
        firebirdOnly - Mapping only applies from Firebird to Java, but not from Java to Firebird (e.g. Firebird UNICODE-FSS maps to Java UTF-8, but Java UTF-8 does not map to Firebird UNICODE-FSS (but to Firebird UTF8)
    • Method Detail

      • getJavaCharset

        public java.nio.charset.Charset getJavaCharset()
        Specified by:
        getJavaCharset in interface EncodingDefinition
        Returns:
        Java Charset for this encoding
      • isFirebirdOnly

        public boolean isFirebirdOnly()
        Description copied from interface: EncodingDefinition
        Can (or should) this encoding be used for reverse mapping from Java to Firebird.

        The best example of this is the Firebird character set UNICODE-FSS which maps to the Java character set UTF-8, but when Java character setUTF-8 is requested, Jaybird should (in general) map to Firebird character set UTF8.

        Specified by:
        isFirebirdOnly in interface EncodingDefinition
        Returns:
        true when this encoding maps from Java to Firebird, false otherwise
      • isInformationOnly

        public boolean isInformationOnly()
        Description copied from interface: EncodingDefinition
        Can this implementation create an Encoding instance, or does it provide information only (e.g. about unsupported character sets)
        Specified by:
        isInformationOnly in interface EncodingDefinition
        Returns:
        true if this EncodingDefinition only provides information, and is not capable of building a concrete implementation.
      • toString

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

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object