java.lang.Object
org.refcodes.codec.BaseMetricsImpl
- All Implemented Interfaces:
BaseMetrics,org.refcodes.mixin.CharSetAccessor,org.refcodes.numerical.NumberBaseAccessor,org.refcodes.numerical.PaddingCharAccessor
BaseMetrics implementation for playing around with your own
configuration. You may use a template as one provided by
BaseMetricsConfig 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.CharSetPropertyNested 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.NumberBasePropertyNested 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
ConstructorsConstructorDescriptionBaseMetricsImpl(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
Modifier and TypeMethodDescriptionbooleanintNumber in bits for one digit.intNumber of bytes to exactly fit into an encoded block.intNumber of bytes to exactly store a minimum number of digits.char[]intThe digit mask is the bit-field covering just the digit's bits (starting at bit 0).intNumber of digits required to represent a byte.intNumber of digits stored in an integer.intcharinthashCode()protected static inttoBitsPerDigit(int aBase) To bits per digit.protected static inttoBytesPerBlock(int aBitsPerDigit) Calculates the number of bytes which fully fit into a base encoded block.protected static inttoBytesPerInt(int aBitsPerDigit) To bytes per int.chartoChar(int aValue) Retrieves the (encoded) character for the (decoded) value.protected static inttoDigitMask(int aBitsPerDigit) To digit mask.protected static inttoDigitsPerByte(int aBase) To digits per byte.protected static inttoDigitsPerInt(int aBytesPerInt, int aBitsPerDigit) To digits per int.toString()inttoValue(char aChar) Retrieves the (decoded) value for the (encoded) character.Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.refcodes.codec.BaseMetrics
getDigitsPerBlock, toPaddingChars, toPaddingCharsNumber
-
Constructor Details
-
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
Instantiates a new base metrics impl.- Parameters:
aBaseMetrics- the base metrics
-
-
Method Details
-
getNumberBase
public int getNumberBase()- Specified by:
getNumberBasein interfaceorg.refcodes.numerical.NumberBaseAccessor
-
getCharSet
public char[] getCharSet()- Specified by:
getCharSetin interfaceBaseMetrics- Specified by:
getCharSetin interfaceorg.refcodes.mixin.CharSetAccessor
-
getBytesPerInt
public int getBytesPerInt()Number of bytes to exactly store a minimum number of digits.- Specified by:
getBytesPerIntin interfaceBaseMetrics- Returns:
- the bytes per int
-
getBytesPerBlock
public int getBytesPerBlock()Number of bytes to exactly fit into an encoded block.- Specified by:
getBytesPerBlockin interfaceBaseMetrics- Returns:
- the bytes per block
-
getDigitsPerInt
public int getDigitsPerInt()Number of digits stored in an integer.- Specified by:
getDigitsPerIntin interfaceBaseMetrics- Returns:
- the digits per int
-
getBitsPerDigit
public int getBitsPerDigit()Number in bits for one digit.- Specified by:
getBitsPerDigitin interfaceBaseMetrics- Returns:
- the bits per digit
-
getDigitsPerByte
public int getDigitsPerByte()Number of digits required to represent a byte.- Specified by:
getDigitsPerBytein 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:
getDigitMaskin interfaceBaseMetrics- Returns:
- the digit mask
-
toValue
public int toValue(char aChar) Retrieves the (decoded) value for the (encoded) character.- Specified by:
toValuein interfaceBaseMetrics- Parameters:
aChar- the char- Returns:
- the int
-
toChar
public char toChar(int aValue) Retrieves the (encoded) character for the (decoded) value.- Specified by:
toCharin interfaceBaseMetrics- Parameters:
aValue- the value- Returns:
- the char
-
getPaddingChar
public char getPaddingChar()- Specified by:
getPaddingCharin interfaceorg.refcodes.numerical.PaddingCharAccessor
-
hashCode
public int hashCode() -
equals
-
toString
-
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
-
toBytesPerBlock
protected static int toBytesPerBlock(int aBitsPerDigit) Calculates the number of bytes which fully fit into a base encoded block.- Parameters:
aBitsPerDigit- The bits used per digit.- Returns:
- The number of bytes completely fitting into one block.
-