Package org.refcodes.codec
Class BaseMetricsImpl
- java.lang.Object
-
- org.refcodes.codec.BaseMetricsImpl
-
- All Implemented Interfaces:
BaseMetrics
,org.refcodes.mixin.CharSetAccessor
,org.refcodes.numerical.NumberBaseAccessor
,org.refcodes.numerical.PaddingCharAccessor
public class BaseMetricsImpl extends java.lang.Object implements BaseMetrics
BaseMetrics
implementation for playing around with your own configuration. You may use a template as one provided byBaseConfig
and tweak some attributes as you wish.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.refcodes.mixin.CharSetAccessor
org.refcodes.mixin.CharSetAccessor.CharSetBuilder<B extends org.refcodes.mixin.CharSetAccessor.CharSetBuilder<B>>, org.refcodes.mixin.CharSetAccessor.CharSetMutator, org.refcodes.mixin.CharSetAccessor.CharSetProperty
-
Nested classes/interfaces inherited from interface org.refcodes.numerical.NumberBaseAccessor
org.refcodes.numerical.NumberBaseAccessor.NumberBaseBuilder<B extends org.refcodes.numerical.NumberBaseAccessor.NumberBaseBuilder<B>>, org.refcodes.numerical.NumberBaseAccessor.NumberBaseMutator, org.refcodes.numerical.NumberBaseAccessor.NumberBaseProperty
-
Nested classes/interfaces inherited from interface org.refcodes.numerical.PaddingCharAccessor
org.refcodes.numerical.PaddingCharAccessor.PaddingCharBuilder<B extends org.refcodes.numerical.PaddingCharAccessor.PaddingCharBuilder<B>>, org.refcodes.numerical.PaddingCharAccessor.PaddingCharMutator, org.refcodes.numerical.PaddingCharAccessor.PaddingCharProperty
-
-
Constructor Summary
Constructors Constructor Description BaseMetricsImpl(int aBase)
Instantiates a new base metrics impl.BaseMetricsImpl(int aBase, char[] aCharSet)
Instantiates a new base metrics impl.BaseMetricsImpl(int aBase, char[] aCharSet, char aPaddingChar)
Instantiates a new base metrics impl.BaseMetricsImpl(int aBase, int aBitsPerDigit, int aDigitsPerByte, int aDigitsPerInt, int aBytesPerInt, char[] aCharSet)
Instantiates a new base metrics impl.BaseMetricsImpl(int aBase, int aBitsPerDigit, int aDigitsPerByte, int aDigitsPerInt, int aBytesPerInt, char[] aCharSet, char aPaddingChar)
Instantiates a new base metrics impl.BaseMetricsImpl(BaseMetrics aBaseMetrics)
Instantiates a new base metrics impl.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
int
getBitsPerDigit()
Number in bits for one digit.int
getBytesPerInt()
Number of bytes to exactly store a minimum number of digits.char[]
getCharSet()
int
getDigitMask()
The digit mask is the bit-field covering just the digit's bits (starting at bit 0).int
getDigitsPerByte()
Number of digits required to represent a byte.int
getDigitsPerInt()
Number of digits stored in an integer.int
getNumberBase()
char
getPaddingChar()
int
hashCode()
protected static int
toBitsPerDigit(int aBase)
To bits per digit.protected static int
toBytesPerInt(int aBitsPerDigit)
To bytes per int.char
toChar(int aValue)
Retrieves the (encoded) character for the (decoded) value.protected static int
toDigitMask(int aBitsPerDigit)
To digit mask.protected static int
toDigitsPerByte(int aBase)
To digits per byte.protected static int
toDigitsPerInt(int aBytesPerInt, int aBitsPerDigit)
To digits per int.java.lang.String
toString()
int
toValue(char aChar)
Retrieves the (decoded) value for the (encoded) character.
-
-
-
Constructor Detail
-
BaseMetricsImpl
public BaseMetricsImpl(int aBase)
Instantiates a new base metrics impl.- Parameters:
aBase
- the base
-
BaseMetricsImpl
public BaseMetricsImpl(int aBase, char[] aCharSet)
Instantiates a new base metrics impl.- Parameters:
aBase
- the baseaCharSet
- the char set
-
BaseMetricsImpl
public BaseMetricsImpl(int aBase, char[] aCharSet, char aPaddingChar)
Instantiates a new base metrics impl.- Parameters:
aBase
- the baseaCharSet
- the char setaPaddingChar
- the padding char
-
BaseMetricsImpl
public BaseMetricsImpl(int aBase, int aBitsPerDigit, int aDigitsPerByte, int aDigitsPerInt, int aBytesPerInt, char[] aCharSet)
Instantiates a new base metrics impl.- Parameters:
aBase
- the baseaBitsPerDigit
- the bits per digitaDigitsPerByte
- the digits per byteaDigitsPerInt
- the digits per intaBytesPerInt
- the bytes per intaCharSet
- the char set
-
BaseMetricsImpl
public BaseMetricsImpl(int aBase, int aBitsPerDigit, int aDigitsPerByte, int aDigitsPerInt, int aBytesPerInt, char[] aCharSet, char aPaddingChar)
Instantiates a new base metrics impl.- Parameters:
aBase
- the baseaBitsPerDigit
- the bits per digitaDigitsPerByte
- the digits per byteaDigitsPerInt
- the digits per intaBytesPerInt
- the bytes per intaCharSet
- the char setaPaddingChar
- the padding char
-
BaseMetricsImpl
public BaseMetricsImpl(BaseMetrics aBaseMetrics)
Instantiates a new base metrics impl.- Parameters:
aBaseMetrics
- the base metrics
-
-
Method Detail
-
getNumberBase
public int getNumberBase()
- Specified by:
getNumberBase
in interfaceorg.refcodes.numerical.NumberBaseAccessor
-
getCharSet
public char[] getCharSet()
- Specified by:
getCharSet
in interfaceBaseMetrics
- Specified by:
getCharSet
in interfaceorg.refcodes.mixin.CharSetAccessor
-
getBytesPerInt
public int getBytesPerInt()
Number of bytes to exactly store a minimum number of digits.- Specified by:
getBytesPerInt
in interfaceBaseMetrics
- Returns:
- the bytes per int
-
getDigitsPerInt
public int getDigitsPerInt()
Number of digits stored in an integer.- Specified by:
getDigitsPerInt
in interfaceBaseMetrics
- Returns:
- the digits per int
-
getBitsPerDigit
public int getBitsPerDigit()
Number in bits for one digit.- Specified by:
getBitsPerDigit
in interfaceBaseMetrics
- Returns:
- the bits per digit
-
getDigitsPerByte
public int getDigitsPerByte()
Number of digits required to represent a byte.- Specified by:
getDigitsPerByte
in interfaceBaseMetrics
- Returns:
- the digits per byte
-
getDigitMask
public int getDigitMask()
The digit mask is the bit-field covering just the digit's bits (starting at bit 0). Those bits in the mask are set to one which are required to represent a digit.- Specified by:
getDigitMask
in interfaceBaseMetrics
- Returns:
- the digit mask
-
toValue
public int toValue(char aChar)
Retrieves the (decoded) value for the (encoded) character.- Specified by:
toValue
in interfaceBaseMetrics
- Parameters:
aChar
- the char- Returns:
- the int
-
toChar
public char toChar(int aValue)
Retrieves the (encoded) character for the (decoded) value.- Specified by:
toChar
in interfaceBaseMetrics
- Parameters:
aValue
- the value- Returns:
- the char
-
getPaddingChar
public char getPaddingChar()
- Specified by:
getPaddingChar
in interfaceorg.refcodes.numerical.PaddingCharAccessor
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in classjava.lang.Object
-
toDigitMask
protected static int toDigitMask(int aBitsPerDigit)
To digit mask.- Parameters:
aBitsPerDigit
- the bits per digit- Returns:
- the int
-
toBitsPerDigit
protected static int toBitsPerDigit(int aBase)
To bits per digit.- Parameters:
aBase
- the base- Returns:
- the int
-
toDigitsPerInt
protected static int toDigitsPerInt(int aBytesPerInt, int aBitsPerDigit)
To digits per int.- Parameters:
aBytesPerInt
- the bytes per intaBitsPerDigit
- the bits per digit- Returns:
- the int
-
toDigitsPerByte
protected static int toDigitsPerByte(int aBase)
To digits per byte.- Parameters:
aBase
- the base- Returns:
- the int
-
toBytesPerInt
protected static int toBytesPerInt(int aBitsPerDigit)
To bytes per int.- Parameters:
aBitsPerDigit
- the bits per digit- Returns:
- the int
-
-