Class SynchronizedBoolean

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean value
      the actual value
    • Constructor Summary

      Constructors 
      Constructor Description
      SynchronizedBoolean​(boolean initialValue)
      Make a new SynchronizedBoolean with the given initial value, and using its own internal lock.
      SynchronizedBoolean​(boolean initialValue, java.util.concurrent.locks.ReadWriteLock lock)
      Make a new SynchronizedBoolean with the given initial value, and using the supplied lock.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean and​(boolean b)
      Set value to value & b.
      boolean commit​(boolean assumedValue, boolean newValue)
      Set value to newValue only if it is currently assumedValue.
      int compareTo​(boolean other)  
      int compareTo​(SynchronizedBoolean other)  
      boolean complement()
      Set the value to its complement
      boolean equals​(java.lang.Object other)  
      boolean get()
      Return the current value
      int hashCode()  
      boolean or​(boolean b)
      Set value to value | b.
      boolean set​(boolean newValue)
      Set to newValue.
      boolean swap​(SynchronizedBoolean other)
      Atomically swap values with another SynchronizedBoolean.
      java.lang.String toString()  
      boolean xor​(boolean b)
      Set value to value ^ b.
      • Methods inherited from class java.lang.Object

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

      • value

        protected boolean value
        the actual value
    • Constructor Detail

      • SynchronizedBoolean

        public SynchronizedBoolean​(boolean initialValue)
        Make a new SynchronizedBoolean with the given initial value, and using its own internal lock.
      • SynchronizedBoolean

        public SynchronizedBoolean​(boolean initialValue,
                                   java.util.concurrent.locks.ReadWriteLock lock)
        Make a new SynchronizedBoolean with the given initial value, and using the supplied lock.
    • Method Detail

      • get

        public final boolean get()
        Return the current value
      • set

        public boolean set​(boolean newValue)
        Set to newValue.
        Returns:
        the old value
      • commit

        public boolean commit​(boolean assumedValue,
                              boolean newValue)
        Set value to newValue only if it is currently assumedValue.
        Returns:
        true if successful
      • swap

        public boolean swap​(SynchronizedBoolean other)
        Atomically swap values with another SynchronizedBoolean. Uses identityHashCode to avoid deadlock when two SynchronizedBooleans attempt to simultaneously swap with each other. (Note: Ordering via identyHashCode is not strictly guaranteed by the language specification to return unique, orderable values, but in practice JVMs rely on them being unique.)
        Returns:
        the new value
      • complement

        public boolean complement()
        Set the value to its complement
        Returns:
        the new value
      • and

        public boolean and​(boolean b)
        Set value to value & b.
        Returns:
        the new value
      • or

        public boolean or​(boolean b)
        Set value to value | b.
        Returns:
        the new value
      • xor

        public boolean xor​(boolean b)
        Set value to value ^ b.
        Returns:
        the new value
      • compareTo

        public int compareTo​(boolean other)
      • equals

        public boolean equals​(java.lang.Object other)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object