Package org.firebirdsql.encodings
Class DefaultEncodingDefinition
- java.lang.Object
-
- org.firebirdsql.encodings.DefaultEncodingDefinition
-
- All Implemented Interfaces:
EncodingDefinition
public final class DefaultEncodingDefinition extends java.lang.Object implements EncodingDefinition
Definition of a Firebird encoding. This is the default implementation ofEncodingDefinition
.- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Constructor Summary
Constructors Constructor Description DefaultEncodingDefinition(java.lang.String firebirdEncodingName, java.lang.String charsetName, int maxBytesPerChar, int firebirdCharacterSetId, boolean firebirdOnly)
Initializes an instance of DefaultEncodingDefinition.DefaultEncodingDefinition(java.lang.String firebirdEncodingName, java.nio.charset.Charset charset, int maxBytesPerChar, int firebirdCharacterSetId, boolean firebirdOnly)
Initializes an instance of DefaultEncodingDefinition.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object o)
Encoding
getEncoding()
Returns theEncoding
instance for this definition.int
getFirebirdCharacterSetId()
java.lang.String
getFirebirdEncodingName()
java.nio.charset.Charset
getJavaCharset()
java.lang.String
getJavaEncodingName()
int
getMaxBytesPerChar()
int
hashCode()
boolean
isFirebirdOnly()
Can (or should) this encoding be used for reverse mapping from Java to Firebird.boolean
isInformationOnly()
Can this implementation create anEncoding
instance, or does it provide information only (e.g.java.lang.String
toString()
-
-
-
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 encodingcharset
- JavaCharset
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 idfirebirdOnly
- 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 encodingcharsetName
- Java character set name, ornull
for information-only instancesmaxBytesPerChar
- Maximum number of bytes per character (eg 1 for ISO8859_1, 4 for UTF8, 3 for UNICODE-FSS)firebirdCharacterSetId
- Firebird character set idfirebirdOnly
- 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
-
getMaxBytesPerChar
public int getMaxBytesPerChar()
- Specified by:
getMaxBytesPerChar
in interfaceEncodingDefinition
- Returns:
- Maximum number of bytes per character.
-
getJavaEncodingName
public java.lang.String getJavaEncodingName()
- Specified by:
getJavaEncodingName
in interfaceEncodingDefinition
- Returns:
- Java name of the encoding
-
getJavaCharset
public java.nio.charset.Charset getJavaCharset()
- Specified by:
getJavaCharset
in interfaceEncodingDefinition
- Returns:
- Java
Charset
for this encoding
-
getFirebirdEncodingName
public java.lang.String getFirebirdEncodingName()
- Specified by:
getFirebirdEncodingName
in interfaceEncodingDefinition
- Returns:
- Firebird name of the encoding
-
getFirebirdCharacterSetId
public int getFirebirdCharacterSetId()
- Specified by:
getFirebirdCharacterSetId
in interfaceEncodingDefinition
- Returns:
- Firebird id of the 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 setUTF-8
, but when Java character setUTF-8
is requested, Jaybird should (in general) map to Firebird character setUTF8
.- Specified by:
isFirebirdOnly
in interfaceEncodingDefinition
- 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 anEncoding
instance, or does it provide information only (e.g. about unsupported character sets)- Specified by:
isInformationOnly
in interfaceEncodingDefinition
- Returns:
true
if this EncodingDefinition only provides information, and is not capable of building a concrete implementation.
-
getEncoding
public Encoding getEncoding()
Returns theEncoding
instance for this definition. The same object is returned each time this method is called.- Specified by:
getEncoding
in interfaceEncodingDefinition
- Returns:
- Encoding object or
null
if this is an information only EncodingDefinition - See Also:
EncodingDefinition.isInformationOnly()
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-