Class BaseMetricsImpl

  • All Implemented Interfaces:
    BaseMetrics, org.refcodes.mixin.CharSetAccessor, org.refcodes.numerical.NumberBaseAccessor, org.refcodes.numerical.PaddingCharAccessor


    public class BaseMetricsImpl
    extends Object
    implements BaseMetrics
    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.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.
    • 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 base
        aCharSet - the char set
      • BaseMetricsImpl

        public BaseMetricsImpl​(int aBase,
                               char[] aCharSet,
                               char aPaddingChar)
        Instantiates a new base metrics impl.
        Parameters:
        aBase - the base
        aCharSet - the char set
        aPaddingChar - 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 base
        aBitsPerDigit - the bits per digit
        aDigitsPerByte - the digits per byte
        aDigitsPerInt - the digits per int
        aBytesPerInt - the bytes per int
        aCharSet - 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 base
        aBitsPerDigit - the bits per digit
        aDigitsPerByte - the digits per byte
        aDigitsPerInt - the digits per int
        aBytesPerInt - the bytes per int
        aCharSet - the char set
        aPaddingChar - 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 interface org.refcodes.numerical.NumberBaseAccessor
      • getCharSet

        public char[] getCharSet​()
        Specified by:
        getCharSet in interface BaseMetrics
        Specified by:
        getCharSet in interface org.refcodes.mixin.CharSetAccessor
      • getBytesPerInt

        public int getBytesPerInt​()
        Number of bytes to exactly store a minimum number of digits.
        Specified by:
        getBytesPerInt in interface BaseMetrics
        Returns:
        the bytes per int
      • getDigitsPerInt

        public int getDigitsPerInt​()
        Number of digits stored in an integer.
        Specified by:
        getDigitsPerInt in interface BaseMetrics
        Returns:
        the digits per int
      • getBitsPerDigit

        public int getBitsPerDigit​()
        Number in bits for one digit.
        Specified by:
        getBitsPerDigit in interface BaseMetrics
        Returns:
        the bits per digit
      • getDigitsPerByte

        public int getDigitsPerByte​()
        Number of digits required to represent a byte.
        Specified by:
        getDigitsPerByte in interface BaseMetrics
        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 interface BaseMetrics
        Returns:
        the digit mask
      • toValue

        public int toValue​(char aChar)
        Retrieves the (decoded) value for the (encoded) character.
        Specified by:
        toValue in interface BaseMetrics
        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 interface BaseMetrics
        Parameters:
        aValue - the value
        Returns:
        the char
      • getPaddingChar

        public char getPaddingChar​()
        Specified by:
        getPaddingChar in interface org.refcodes.numerical.PaddingCharAccessor
      • hashCode

        public int hashCode​()
        Overrides:
        hashCode in class 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 int
        aBitsPerDigit - 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