X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fcore%2FRequest.java;h=a61bb94ef0a11f571890dcaac97e67c7e1d31d99;hb=c63257e8cc0ba1a5aca9364b22171abe7279d479;hp=7b1bbe93718737b4994454e38b92a12d9a192fef;hpb=fffb06b094d47ecb7d0282fade99e2d2f109fcbf;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/core/Request.java b/src/net/pterodactylus/jsite/core/Request.java index 7b1bbe9..a61bb94 100644 --- a/src/net/pterodactylus/jsite/core/Request.java +++ b/src/net/pterodactylus/jsite/core/Request.java @@ -19,23 +19,19 @@ package net.pterodactylus.jsite.core; - import net.pterodactylus.util.beans.AbstractBean; /** * 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 { @@ -59,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"; @@ -89,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; @@ -109,7 +129,7 @@ AbstractBean { /** * Creates a new request with the given identifier. - * + * * @param node * The node the request belongs to * @param identifier @@ -126,7 +146,7 @@ AbstractBean { /** * Returns the node the request belongs to. - * + * * @return The node the request belongs to */ public Node getNode() { @@ -135,7 +155,7 @@ AbstractBean { /** * Returns the identifier of the request. It is unique per node. - * + * * @return The identifier of the request */ public String getIdentifier() { @@ -144,7 +164,7 @@ AbstractBean { /** * Returns the type of the request. - * + * * @return The type of the request */ @@ -154,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 (!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() { @@ -178,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 (!equal(oldClientToken, clientToken)) { - firePropertyChange(PROPERTY_CLIENT_TOKEN, oldClientToken, clientToken); - } + fireIfPropertyChanged(PROPERTY_CLIENT_TOKEN, oldClientToken, clientToken); + } + + /** + * Returns whether the request has finished. + * + * @see #isSuccessful() + * @return true if the request is finished, + * false otherwise + */ + public boolean isFinished() { + return finished; + } + + /** + * Sets whether the request has finished. + * + * @param finished + * true if the request has finished, + * false 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 true. + * + * @return true if the request finished successfully, + * false otherwise + */ + public boolean isSuccessful() { + return successful; + } + + /** + * Sets whether this request finished successfully. + * + * @param successful + * true if the request finished successfully, + * false 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 true if the data is already fetchable, + * false 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 + * true if the data is already fetchable, + * false 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 true this value may * change! - * + * * @return The total number of blocks of a request */ public int getTotalBlocks() { @@ -203,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); } /** @@ -226,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); } /** @@ -245,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); } /** @@ -264,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); } /** @@ -283,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); } /** @@ -302,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); } }