org.apache.curator.utils
Class EnsurePath

java.lang.Object
  extended by org.apache.curator.utils.EnsurePath

public class EnsurePath
extends Object

Utility to ensure that a particular path is created.

The first time it is used, a synchronized call to ZKPaths.mkdirs(ZooKeeper, String) is made to ensure that the entire path has been created (with an empty byte array if needed). Subsequent calls with the instance are un-synchronized NOPs.

Usage:

         EnsurePath       ensurePath = new EnsurePath(aFullPathToEnsure);
         ...
         String           nodePath = aFullPathToEnsure + "/foo";
         ensurePath.ensure(zk);   // first time syncs and creates if needed
         zk.create(nodePath, ...);
         ...
         ensurePath.ensure(zk);   // subsequent times are NOPs
         zk.create(nodePath, ...);
 


Constructor Summary
EnsurePath(String path)
           
EnsurePath(String path, InternalACLProvider aclProvider)
           
 
Method Summary
 void ensure(CuratorZookeeperClient client)
          First time, synchronizes and makes sure all nodes in the path are created.
 EnsurePath excludingLast()
          Returns a view of this EnsurePath instance that does not make the last node.
 String getPath()
          Returns the path being Ensured
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EnsurePath

public EnsurePath(String path)
Parameters:
path - the full path to ensure

EnsurePath

public EnsurePath(String path,
                  InternalACLProvider aclProvider)
Parameters:
path - the full path to ensure
aclProvider - if not null, the ACL provider to use when creating parent nodes
Method Detail

ensure

public void ensure(CuratorZookeeperClient client)
            throws Exception
First time, synchronizes and makes sure all nodes in the path are created. Subsequent calls with this instance are NOPs.

Parameters:
client - ZK client
Throws:
Exception - ZK errors

excludingLast

public EnsurePath excludingLast()
Returns a view of this EnsurePath instance that does not make the last node. i.e. if the path is "/a/b/c" only "/a/b" will be ensured

Returns:
view

getPath

public String getPath()
Returns the path being Ensured

Returns:
the path being ensured


Copyright © 2011–2014 The Apache Software Foundation. All rights reserved.