Class TrueIfNullOrDeletedRefreshAndDoubleCheckOnFalse<S extends Enum<S>,C extends ComputeMetadataIncludingStatus<S>>

java.lang.Object
org.jclouds.compute.predicates.internal.TrueIfNullOrDeletedRefreshAndDoubleCheckOnFalse<S,C>
All Implemented Interfaces:
com.google.common.base.Predicate<AtomicReference<C>>, Predicate<AtomicReference<C>>
Direct Known Subclasses:
AtomicImageDeleted, AtomicNodeTerminated

public abstract class TrueIfNullOrDeletedRefreshAndDoubleCheckOnFalse<S extends Enum<S>,C extends ComputeMetadataIncludingStatus<S>> extends Object implements com.google.common.base.Predicate<AtomicReference<C>>
  • Field Details

    • deletedStatus

      protected final S extends Enum<S> deletedStatus
    • logger

      protected Logger logger
  • Constructor Details

    • TrueIfNullOrDeletedRefreshAndDoubleCheckOnFalse

      protected TrueIfNullOrDeletedRefreshAndDoubleCheckOnFalse(S deletedStatus)
  • Method Details

    • apply

      public boolean apply(AtomicReference<C> atomicResource)
      Specified by:
      apply in interface com.google.common.base.Predicate<S extends Enum<S>>
    • checkStatus

      public boolean checkStatus(C resource)
    • refreshOrNull

      protected abstract C refreshOrNull(C resource)