org.jclouds.compute.predicates.internal
Class RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid

java.lang.Object
  extended by org.jclouds.compute.predicates.internal.RefreshAndDoubleCheckOnFailUnlessStatusInvalid<NodeMetadata.Status,NodeMetadata>
      extended by org.jclouds.compute.predicates.internal.RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid
All Implemented Interfaces:
com.google.common.base.Predicate<AtomicReference<NodeMetadata>>
Direct Known Subclasses:
AtomicNodeRunning, AtomicNodeSuspended

@Singleton
public class RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid
extends RefreshAndDoubleCheckOnFailUnlessStatusInvalid<NodeMetadata.Status,NodeMetadata>

The point of RefreshAndDoubleCheckOnFailUnlessStateInvalid is to keep an atomic reference to a node, so as to eliminate a redundant ComputeService#getNodeMetadata call after the predicate passes.


Field Summary
 
Fields inherited from class org.jclouds.compute.predicates.internal.RefreshAndDoubleCheckOnFailUnlessStatusInvalid
logger
 
Constructor Summary
RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid(NodeMetadata.Status intended, GetNodeMetadataStrategy client)
           
RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid(NodeMetadata.Status intended, Set<NodeMetadata.Status> invalids, GetNodeMetadataStrategy client)
           
 
Method Summary
protected  NodeMetadata refreshOrNull(NodeMetadata resource)
           
 
Methods inherited from class org.jclouds.compute.predicates.internal.RefreshAndDoubleCheckOnFailUnlessStatusInvalid
apply, checkStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.google.common.base.Predicate
equals
 

Constructor Detail

RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid

@Inject
public RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid(NodeMetadata.Status intended,
                                                                 GetNodeMetadataStrategy client)

RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid

public RefreshNodeAndDoubleCheckOnFailUnlessStatusInvalid(NodeMetadata.Status intended,
                                                          Set<NodeMetadata.Status> invalids,
                                                          GetNodeMetadataStrategy client)
Method Detail

refreshOrNull

protected NodeMetadata refreshOrNull(NodeMetadata resource)
Specified by:
refreshOrNull in class RefreshAndDoubleCheckOnFailUnlessStatusInvalid<NodeMetadata.Status,NodeMetadata>


Copyright © 2009-2014 The Apache Software Foundation. All Rights Reserved.