whitespace fixups
[jSite2.git] / src / net / pterodactylus / jsite / core / Request.java
index 703ba57..a61bb94 100644 (file)
 
 package net.pterodactylus.jsite.core;
 
-
 import net.pterodactylus.util.beans.AbstractBean;
-import net.pterodactylus.util.beans.Comparer;
 
 /**
  * A request is an ongoing download or upload reported by the freenet node.
- * 
+ *
  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
- * @version $Id$
  */
-public class Request extends 
-AbstractBean {
+public class Request extends AbstractBean {
 
        /**
         * The type of a request.
-        * 
+        *
         * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
-        * @version $Id$
         */
        public enum Type {
 
@@ -60,6 +55,18 @@ AbstractBean {
        /** Name of the “client token” property. */
        public static final String PROPERTY_CLIENT_TOKEN = "clientToken";
 
+       /** Name of the “finished” property. */
+       public static final String PROPERTY_FINISHED = "finished";
+
+       /** Name of the “successful” property. */
+       public static final String PROPERTY_SUCCESSFUL = "successful";
+
+       /** Name of the “fetchable” property. */
+       public static final String PROPERTY_FETCHABLE = "fetchable";
+
+       /** Name of the “URI” property. */
+       public static final String PROPERTY_URI = "uri";
+
        /** Name of the “total blocks” property. */
        public static final String PROPERTY_TOTAL_BLOCKS = "totalBlocks";
 
@@ -90,6 +97,18 @@ AbstractBean {
        /** The client token of the request. */
        private String clientToken;
 
+       /** Whether the request is finished. */
+       private boolean finished;
+
+       /** Whether the request was finished successfully. */
+       private boolean successful;
+
+       /** Whether the data is already fetchable (in case of put requests). */
+       private boolean fetchable;
+
+       /** The generated URI. */
+       private String uri;
+
        /** The total number of blocks. */
        private int totalBlocks;
 
@@ -110,7 +129,7 @@ AbstractBean {
 
        /**
         * Creates a new request with the given identifier.
-        * 
+        *
         * @param node
         *            The node the request belongs to
         * @param identifier
@@ -127,7 +146,7 @@ AbstractBean {
 
        /**
         * Returns the node the request belongs to.
-        * 
+        *
         * @return The node the request belongs to
         */
        public Node getNode() {
@@ -136,7 +155,7 @@ AbstractBean {
 
        /**
         * Returns the identifier of the request. It is unique per node.
-        * 
+        *
         * @return The identifier of the request
         */
        public String getIdentifier() {
@@ -145,7 +164,7 @@ AbstractBean {
 
        /**
         * Returns the type of the request.
-        * 
+        *
         * @return The type of the request
         */
 
@@ -155,22 +174,19 @@ AbstractBean {
 
        /**
         * Sets the type of the request.
-        * 
+        *
         * @param type
         *            The type of the request
         */
-
-       public void setType(Type type) {
+       void setType(Type type) {
                Type oldType = this.type;
                this.type = type;
-               if (!Comparer.equal(oldType, type)) {
-                       firePropertyChange(PROPERTY_TYPE, oldType, type);
-               }
+               fireIfPropertyChanged(PROPERTY_TYPE, oldType, type);
        }
 
        /**
         * Returns the client token of the request.
-        * 
+        *
         * @return The client token of the request
         */
        public String getClientToken() {
@@ -179,23 +195,113 @@ AbstractBean {
 
        /**
         * Sets the client token of the request.
-        * 
+        *
         * @param clientToken
         *            The client token of the request
         */
-       public void setClientToken(String clientToken) {
+       void setClientToken(String clientToken) {
                String oldClientToken = this.clientToken;
                this.clientToken = clientToken;
-               if (!Comparer.equal(oldClientToken, clientToken)) {
-                       firePropertyChange(PROPERTY_CLIENT_TOKEN, oldClientToken, clientToken);
-               }
+               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;
        }
 
        /**
         * Returns the total number of blocks of a request. Until
         * {@link #isTotalFinalized()} returns <code>true</code> this value may
         * change!
-        * 
+        *
         * @return The total number of blocks of a request
         */
        public int getTotalBlocks() {
@@ -204,16 +310,14 @@ AbstractBean {
 
        /**
         * Sets the total number of blocks of a request.
-        * 
+        *
         * @param totalBlocks
         *            The total number of blocks
         */
-       public void setTotalBlocks(int totalBlocks) {
+       void setTotalBlocks(int totalBlocks) {
                int oldTotalBlocks = this.totalBlocks;
                this.totalBlocks = totalBlocks;
-               if (oldTotalBlocks != totalBlocks) {
-                       firePropertyChange(PROPERTY_TOTAL_BLOCKS, oldTotalBlocks, totalBlocks);
-               }
+               fireIfPropertyChanged(PROPERTY_TOTAL_BLOCKS, oldTotalBlocks, totalBlocks);
        }
 
        /**
@@ -227,12 +331,10 @@ AbstractBean {
         * @param requiredBlocks
         *            the requiredBlocks to set
         */
-       public void setRequiredBlocks(int requiredBlocks) {
+       void setRequiredBlocks(int requiredBlocks) {
                int oldRequiredBlocks = this.requiredBlocks;
                this.requiredBlocks = requiredBlocks;
-               if (oldRequiredBlocks != requiredBlocks) {
-                       firePropertyChange(PROPERTY_REQUIRED_BLOCKS, oldRequiredBlocks, requiredBlocks);
-               }
+               fireIfPropertyChanged(PROPERTY_REQUIRED_BLOCKS, oldRequiredBlocks, requiredBlocks);
        }
 
        /**
@@ -246,12 +348,10 @@ AbstractBean {
         * @param successfulBlocks
         *            the successfulBlocks to set
         */
-       public void setSuccessfulBlocks(int successfulBlocks) {
+       void setSuccessfulBlocks(int successfulBlocks) {
                int oldSuccessfulBlocks = this.successfulBlocks;
                this.successfulBlocks = successfulBlocks;
-               if (oldSuccessfulBlocks != successfulBlocks) {
-                       firePropertyChange(PROPERTY_SUCCESSFUL_BLOCKS, oldSuccessfulBlocks, successfulBlocks);
-               }
+               fireIfPropertyChanged(PROPERTY_SUCCESSFUL_BLOCKS, oldSuccessfulBlocks, successfulBlocks);
        }
 
        /**
@@ -265,12 +365,10 @@ AbstractBean {
         * @param failedBlocks
         *            the failedBlocks to set
         */
-       public void setFailedBlocks(int failedBlocks) {
+       void setFailedBlocks(int failedBlocks) {
                int oldFailedBlocks = this.failedBlocks;
                this.failedBlocks = failedBlocks;
-               if (oldFailedBlocks != failedBlocks) {
-                       firePropertyChange(PROPERTY_FAILED_BLOCKS, oldFailedBlocks, failedBlocks);
-               }
+               fireIfPropertyChanged(PROPERTY_FAILED_BLOCKS, oldFailedBlocks, failedBlocks);
        }
 
        /**
@@ -284,12 +382,10 @@ AbstractBean {
         * @param fatallyFailedBlocks
         *            the fatallyFailedBlocks to set
         */
-       public void setFatallyFailedBlocks(int fatallyFailedBlocks) {
+       void setFatallyFailedBlocks(int fatallyFailedBlocks) {
                int oldFatallyFailedBlocks = this.fatallyFailedBlocks;
                this.fatallyFailedBlocks = fatallyFailedBlocks;
-               if (oldFatallyFailedBlocks != fatallyFailedBlocks) {
-                       firePropertyChange(PROPERTY_FATALLY_FAILED_BLOCKS, oldFatallyFailedBlocks, fatallyFailedBlocks);
-               }
+               fireIfPropertyChanged(PROPERTY_FATALLY_FAILED_BLOCKS, oldFatallyFailedBlocks, fatallyFailedBlocks);
        }
 
        /**
@@ -303,12 +399,10 @@ AbstractBean {
         * @param totalFinalized
         *            the totalFinalized to set
         */
-       public void setTotalFinalized(boolean totalFinalized) {
+       void setTotalFinalized(boolean totalFinalized) {
                boolean oldTotalFinalized = this.totalFinalized;
                this.totalFinalized = totalFinalized;
-               if (oldTotalFinalized != totalFinalized) {
-                       firePropertyChange(PROPERTY_TOTAL_FINALIZED, oldTotalFinalized, totalFinalized);
-               }
+               fireIfPropertyChanged(PROPERTY_TOTAL_FINALIZED, oldTotalFinalized, totalFinalized);
        }
 
 }