public Stat setData(final String path, byte data[], int version)
            throws KeeperException, InterruptedException {
        verbotenThreadCheck();
        final String clientPath = path;
        PathUtils.validatePath(clientPath);

        final String serverPath = prependChroot(clientPath);

        RequestHeader h = new RequestHeader();
        h.setType(ZooDefs.OpCode.setData);
        SetDataRequest request = new SetDataRequest();
        request.setPath(serverPath);
        request.setData(data);
        request.setVersion(version);
        SetDataResponse response = new SetDataResponse();
        ReplyHeader r = cnxn.submitRequest(h, request, response, null);
        if (r.getErr() != 0) {
            throw KeeperException.create(KeeperException.Code.get(r.getErr()),
                    clientPath);
        }
        return response.getStat();
    }
public Stat setData ( final String path , byte data [ ] , int version ) throws KeeperException , InterruptedException { verbotenThreadCheck ( ) ; final String clientPath = path ; PathUtils . validatePath ( clientPath ) ; final String serverPath = prependChroot ( clientPath ) ; RequestHeader h = new RequestHeader ( ) ; h . setType ( ZooDefs . OpCode . setData ) ; SetDataRequest request = new SetDataRequest ( ) ; request . setPath ( serverPath ) ; request . setData ( data ) ; request . setVersion ( version ) ; SetDataResponse response = new SetDataResponse ( ) ; ReplyHeader r = cnxn . submitRequest ( h , request , response , null ) ; if ( r . getErr ( ) != 0 ) { throw KeeperException . create ( KeeperException . Code . get ( r . getErr ( ) ) , clientPath ) ; } return response . getStat ( ) ; }
Set the data for the node of the given path if such a node exists and the
given version matches the version of the node (if the given version is
-1, it matches any node's versions). Return the stat of the node.
<p>
This operation, if successful, will trigger all the watches on the node
of the given path left by getData calls.
<p>
A KeeperException with error code KeeperException.NoNode will be thrown
if no node with the given path exists.
<p>
A KeeperException with error code KeeperException.BadVersion will be
thrown if the given version does not match the node's version.
<p>
The maximum allowable size of the data array is 1 MB (1,048,576 bytes).
Arrays larger than this will cause a KeeperExecption to be thrown.

@param path
the path of the node
@param data
the data to set
@param version
the expected matching version
@return the state of the node
@throws InterruptedException
If the server transaction is interrupted.
@throws KeeperException
If the server signals an error with a non-zero error code.
@throws IllegalArgumentException
if an invalid path is specified