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 EncodinggetEncoding()Returns theEncodinginstance for this definition.intgetFirebirdCharacterSetId()java.lang.StringgetFirebirdEncodingName()java.nio.charset.CharsetgetJavaCharset()java.lang.StringgetJavaEncodingName()intgetMaxBytesPerChar()booleanisFirebirdOnly()Can (or should) this encoding be used for reverse mapping from Java to Firebird.booleanisInformationOnly()Can this implementation create anEncodinginstance, or does it provide information only (eg about unsupported character sets)java.lang.StringtoString()
-
-
-
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- JavaCharsetinstance (nullfor 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 (eg 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
Charsetat on-demand load time, it will be handled as information-only.- Parameters:
firebirdEncodingName- Name of the Firebird encodingcharsetName- Java character set name, ornullfor 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 (eg 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:
getMaxBytesPerCharin interfaceEncodingDefinition- Returns:
- Maximum number of bytes per character.
-
getJavaEncodingName
public java.lang.String getJavaEncodingName()
- Specified by:
getJavaEncodingNamein interfaceEncodingDefinition- Returns:
- Java name of the encoding
-
getJavaCharset
public java.nio.charset.Charset getJavaCharset()
- Specified by:
getJavaCharsetin interfaceEncodingDefinition- Returns:
- Java
Charsetfor this encoding
-
getFirebirdEncodingName
public java.lang.String getFirebirdEncodingName()
- Specified by:
getFirebirdEncodingNamein interfaceEncodingDefinition- Returns:
- Firebird name of the encoding
-
getFirebirdCharacterSetId
public int getFirebirdCharacterSetId()
- Specified by:
getFirebirdCharacterSetIdin interfaceEncodingDefinition- Returns:
- Firebird id of the encoding
-
isFirebirdOnly
public boolean isFirebirdOnly()
Description copied from interface:EncodingDefinitionCan (or should) this encoding be used for reverse mapping from Java to Firebird.The best example of this is the Firebird character set
UNICODE-FSSwhich maps to the Java character setUTF-8, but when Java character setUTF-8is requested, Jaybird should (in general) map to Firebird character setUTF8.- Specified by:
isFirebirdOnlyin interfaceEncodingDefinition- Returns:
truewhen this encoding maps from Java to Firebird,falseotherwise
-
isInformationOnly
public boolean isInformationOnly()
Description copied from interface:EncodingDefinitionCan this implementation create anEncodinginstance, or does it provide information only (eg about unsupported character sets)- Specified by:
isInformationOnlyin interfaceEncodingDefinition- Returns:
trueif this EncodingDefinition only provides information, and is not capable of building a concrete implementation.
-
getEncoding
public Encoding getEncoding()
Returns theEncodinginstance for this definition. The same object is returned each time this method is called.- Specified by:
getEncodingin interfaceEncodingDefinition- Returns:
- Encoding object or
nullif this is an information only EncodingDefinition - See Also:
EncodingDefinition.isInformationOnly()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-