19 package org.sleuthkit.autopsy.coreutils;
 
   21 import java.util.Deque;
 
   22 import java.util.Objects;
 
   23 import javafx.beans.property.Property;
 
   24 import javafx.beans.property.ReadOnlyBooleanProperty;
 
   25 import javafx.beans.property.ReadOnlyBooleanWrapper;
 
   26 import javafx.beans.property.ReadOnlyObjectProperty;
 
   27 import javafx.beans.property.ReadOnlyObjectWrapper;
 
   28 import javafx.beans.property.SimpleListProperty;
 
   29 import javafx.collections.FXCollections;
 
   30 import javax.annotation.concurrent.GuardedBy;
 
   31 import javax.annotation.concurrent.ThreadSafe;
 
   47     private final ObservableStack<T> 
historyStack = new ObservableStack<>();
 
   50     private final ObservableStack<T> 
forwardStack = new ObservableStack<>();
 
   53     private final ReadOnlyObjectWrapper<T> 
currentState = new ReadOnlyObjectWrapper<>();
 
   56     private final ReadOnlyBooleanWrapper 
canAdvance = new ReadOnlyBooleanWrapper();
 
   59     private final ReadOnlyBooleanWrapper 
canRetreat = new ReadOnlyBooleanWrapper();
 
   95     synchronized public void reset(T newState) {
 
  110         if (peek != null && peek.equals(
currentState.get()) == 
false) {
 
  127         if (pop != null && pop.equals(
currentState.get()) == 
false) {
 
  131         } 
else if (pop != null && pop.equals(
currentState.get())) {
 
  146     synchronized public void advance(T newState) 
throws IllegalArgumentException {
 
  147         if (newState != null && Objects.equals(
currentState.get(), newState) == 
false) {
 
  176             super(FXCollections.<T>synchronizedObservableList(FXCollections.<T>observableArrayList()));
 
  180             synchronized (
this) {
 
  186             synchronized (
this) {
 
  196             synchronized (
this) {
 
final ObservableStack< T > forwardStack
final ObservableStack< T > historyStack
synchronized boolean canRetreat()
synchronized void reset(T newState)
synchronized T getCurrentState()
synchronized boolean canAdvance()
synchronized ReadOnlyObjectProperty< T > currentState()
synchronized ReadOnlyBooleanProperty getCanRetreat()
synchronized void advance(T newState)
synchronized ReadOnlyBooleanProperty getCanAdvance()
synchronized void clear()