/*
- * todesbaum-lib -
+ * todesbaum-lib -
* Copyright (C) 2006 David Roden
*
* This program is free software; you can redistribute it and/or modify
/**
* Abstract base class for all put requests. It contains all parameters that put
* requests have in common.
- *
+ *
* @author David Roden <droden@gmail.com>
- * @version $Id: ClientPut.java 356 2006-03-24 15:13:38Z bombe $
+ * @version $Id$
*/
public abstract class ClientPut extends Command {
/** The URI of this request. */
protected final String uri;
-
+
/** The client token of this request. */
protected String clientToken = null;
/** The maximum number of retries of this command. */
protected int maxRetries = 0;
+ /** Whether to generate the keys early. */
+ protected boolean earlyEncode = false;
+
/** The persistence of this request. */
protected Persistence persistence = Persistence.CONNECTION;
/**
* Creates a new put request with the specified name, identifier and URI.
- *
+ *
* @param name
* The name of this request
* @param identifier
/**
* Returns whether the node should not try to compress the data.
- *
+ *
* @return <code>true</code> if the node should <strong>not</strong> try
* to compress the data
*/
* archives like ZIP files. Otherwise the node will try to compress the file
* which -- depending on the size of the data -- might take a lot of time
* and memory.
- *
+ *
* @param dontCompress
* <code>true</code> if the node should <strong>not</strong>
* try to compress the data
}
/**
+ * Returns whether the data should be encoded early to generate the final
+ * key as fast as possible.
+ *
+ * @return {@code true} if the key should be generated early, {@code false}
+ * otherwise
+ */
+ public boolean isEarlyEncode() {
+ return earlyEncode;
+ }
+
+ /**
+ * Sets whether the data should be encoded early to generate the final key
+ * as fast as possible.
+ *
+ * @param earlyEncode
+ * {@code true} if the key should be generated early, {@code
+ * false} otherwise
+ */
+ public void setEarlyEncode(boolean earlyEncode) {
+ this.earlyEncode = earlyEncode;
+ }
+
+ /**
* Returns the priority class of this request.
* @return The priority class of this request
*/
writer.write("Verbosity=" + verbosity.getValue() + LINEFEED);
if (maxRetries != 0)
writer.write("MaxRetries=" + maxRetries + LINEFEED);
+ writer.write("EarlyEncode=" + earlyEncode);
if (priorityClass != null)
writer.write("PriorityClass=" + priorityClass.getValue() + LINEFEED);
writer.write("GetCHKOnly=" + getCHKOnly + LINEFEED);