+ fireIfPropertyChanged(PROPERTY_CLIENT_TOKEN, oldClientToken, clientToken);
+ }
+
+ /**
+ * Returns whether the request has finished.
+ *
+ * @see #isSuccessful()
+ * @return <code>true</code> if the request is finished,
+ * <code>false</code> otherwise
+ */
+ public boolean isFinished() {
+ return finished;
+ }
+
+ /**
+ * Sets whether the request has finished.
+ *
+ * @param finished
+ * <code>true</code> if the request has finished,
+ * <code>false</code> otherwise
+ */
+ void setFinished(boolean finished) {
+ boolean oldFinished = this.finished;
+ this.finished = finished;
+ firePropertyChange(PROPERTY_FINISHED, oldFinished, finished);
+ }
+
+ /**
+ * Returns whether the request finished successfully. This value will only
+ * have meaning if {@link #isFinished()} returns <code>true</code>.
+ *
+ * @return <code>true</code> if the request finished successfully,
+ * <code>false</code> otherwise
+ */
+ public boolean isSuccessful() {
+ return successful;
+ }
+
+ /**
+ * Sets whether this request finished successfully.
+ *
+ * @param successful
+ * <code>true</code> if the request finished successfully,
+ * <code>false</code> otherwise
+ */
+ void setSuccessful(boolean successful) {
+ boolean oldSuccessful = this.successful;
+ this.successful = successful;
+ firePropertyChange(PROPERTY_SUCCESSFUL, oldSuccessful, successful);
+ }
+
+ /**
+ * Returns whether the data inserted by this {@link Type#put} or
+ * {@link Type#putDir} request is already fetchable by other clients.
+ *
+ * @return <code>true</code> if the data is already fetchable,
+ * <code>false</code> otherwise
+ */
+ public boolean isFetchable() {
+ return fetchable;
+ }
+
+ /**
+ * Sets whether the data inserted by this {@link Type#put} or
+ * {@link Type#putDir} request is already fetchable by other clients.
+ *
+ * @param fetchable
+ * <code>true</code> if the data is already fetchable,
+ * <code>false</code> otherwise
+ */
+ void setFetchable(boolean fetchable) {
+ boolean oldFetchable = this.fetchable;
+ this.fetchable = fetchable;
+ firePropertyChange(PROPERTY_FETCHABLE, oldFetchable, fetchable);
+ }
+
+ /**
+ * Returns the URI generated by this request.
+ *
+ * @return The generated URI
+ */
+ public String getURI() {
+ return uri;
+ }
+
+ /**
+ * Sets the URI generated by this request.
+ *
+ * @param uri
+ * The generated URI
+ */
+ void setURI(String uri) {
+ this.uri = uri;