Class IntegerMutable


  • public class IntegerMutable
    extends java.lang.Object
    Mutable Integer.

    I needed an wrapper of an primitive int to share the same value between different instances and to have the changes made to the primitive value take effect on all owners of the same instance.

    What a pity that java.lang.Integer does not allow to change it's internal value at runtime. Every time a new Integer has to be constructed.

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int MAX_VALUE
      The largest value of type int.
      static int MIN_VALUE
      The smallest value of type int.
    • Constructor Summary

      Constructors 
      Constructor Description
      IntegerMutable​(int value)
      Constructs a newly allocated Integer object that represents the primitive int argument.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(int i)
      Adds the given value to the internal value.
      void add​(IntegerMutable i)
      Adds the given value to the internal value.
      void add​(java.lang.Integer i)
      Adds the given value to the internal value.
      boolean equals​(java.lang.Object obj)  
      int getValue()
      Returns the value as an int.
      int hashCode()  
      int intValue()
      Returns the value as an int.
      void setValue​(int value)
      Sets the value.
      void sub​(int i)
      Substracts the given value from the internal value.
      void sub​(IntegerMutable i)
      Substracts the given value from the internal value.
      void sub​(java.lang.Integer i)
      Substracts the given value from the internal value.
      java.lang.String toString()
      Returns a String object representing this Integer's value.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • MAX_VALUE

        public static final int MAX_VALUE
        The largest value of type int. The constant value of this field is 2147483647.
        See Also:
        Constant Field Values
      • MIN_VALUE

        public static final int MIN_VALUE
        The smallest value of type int. The constant value of this field is -2147483648.
        See Also:
        Constant Field Values
    • Constructor Detail

      • IntegerMutable

        public IntegerMutable​(int value)
        Constructs a newly allocated Integer object that represents the primitive int argument.
        Parameters:
        value - the value to be represented by the Integer.
    • Method Detail

      • add

        public void add​(int i)
                 throws java.lang.ArithmeticException
        Adds the given value to the internal value.

        Parameters:
        i - the value to add.
        Throws:
        java.lang.ArithmeticException - if an overflow (Integer.MAX_VALUE) occurs.
      • add

        public void add​(java.lang.Integer i)
                 throws java.lang.ArithmeticException
        Adds the given value to the internal value.

        Parameters:
        i - the value to add.
        Throws:
        java.lang.ArithmeticException - if an overflow (Integer.MAX_VALUE) occurs.
      • add

        public void add​(IntegerMutable i)
                 throws java.lang.ArithmeticException
        Adds the given value to the internal value.

        Parameters:
        i - the value to add.
        Throws:
        java.lang.ArithmeticException - if an overflow (Integer.MAX_VALUE) occurs.
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • getValue

        public int getValue()
        Returns the value as an int.

        Returns:
        the value as an int.
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • intValue

        public int intValue()
        Returns the value as an int.

        Returns:
        the value as an int.
      • setValue

        public void setValue​(int value)
        Sets the value.

        Parameters:
        value - the value.
      • sub

        public void sub​(int i)
                 throws java.lang.ArithmeticException
        Substracts the given value from the internal value.

        Parameters:
        i - the value to subtract.
        Throws:
        java.lang.ArithmeticException - if a carry (Integer.MIN_VALUE) occurs.
      • sub

        public void sub​(java.lang.Integer i)
                 throws java.lang.ArithmeticException
        Substracts the given value from the internal value.

        Parameters:
        i - the value to subtract.
        Throws:
        java.lang.ArithmeticException - if a carry (Integer.MIN_VALUE) occurs.
      • sub

        public void sub​(IntegerMutable i)
                 throws java.lang.ArithmeticException
        Substracts the given value from the internal value.

        Parameters:
        i - the value to subtract.
        Throws:
        java.lang.ArithmeticException - if a carry (Integer.MIN_VALUE) occurs.
      • toString

        public java.lang.String toString()
        Returns a String object representing this Integer's value.

        The value is converted to signed decimal representation and returned as a string, exactly as if the integer value were given as an argument to the Integer.toString(int) method.

        Overrides:
        toString in class java.lang.Object
        Returns:
        a string representation of the value of this object in base 10.