be5f882b901bcc197be7c503424e06b6266bc982
[jFCPlib.git] / src / net / pterodactylus / fcp / highlevel / PutRequestResult.java
1 /*
2  * jFCPlib-high-level-client - PutRequestResult.java -
3  * Copyright © 2008 David Roden
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  */
19
20 package net.pterodactylus.fcp.highlevel;
21
22 import net.pterodactylus.fcp.Persistence;
23 import net.pterodactylus.fcp.PersistentPut;
24 import net.pterodactylus.fcp.Priority;
25 import net.pterodactylus.fcp.UploadFrom;
26 import net.pterodactylus.fcp.Verbosity;
27
28 /**
29  * A put request result will be contained in a {@link RequestListResult}.
30  * 
31  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
32  * @version $Id$
33  */
34 public class PutRequestResult extends RequestResult {
35
36         /** The wrapped PersistentPut FCP message. */
37         private final PersistentPut persistentPut;
38
39         /**
40          * Creates a new put request result.
41          * 
42          * @param persistentPut
43          *            The PersistentPut FCP message to wrap
44          */
45         public PutRequestResult(PersistentPut persistentPut) {
46                 super(persistentPut.getIdentifier());
47                 this.persistentPut = persistentPut;
48         }
49
50         /**
51          * Returns the client token associated with the request.
52          * 
53          * @return The client token
54          * @see net.pterodactylus.fcp.PersistentPut#getClientToken()
55          */
56         public String getClientToken() {
57                 return persistentPut.getClientToken();
58         }
59
60         /**
61          * Returns the length of the data to be inserted.
62          * 
63          * @return The length of the data
64          * @see net.pterodactylus.fcp.PersistentPut#getDataLength()
65          */
66         public long getDataLength() {
67                 return persistentPut.getDataLength();
68         }
69
70         /**
71          * Returns the maximum number of retries for failed blocks.
72          * 
73          * @return The maximum number of retries
74          * @see net.pterodactylus.fcp.PersistentPut#getMaxRetries()
75          */
76         public int getMaxRetries() {
77                 return persistentPut.getMaxRetries();
78         }
79
80         /**
81          * Returns the content type of the data.
82          * 
83          * @return The content type of the data
84          * @see net.pterodactylus.fcp.PersistentPut#getMetadataContentType()
85          */
86         public String getMetadataContentType() {
87                 return persistentPut.getMetadataContentType();
88         }
89
90         /**
91          * Returns the persistence level of the request.
92          * 
93          * @return The persistence level
94          * @see net.pterodactylus.fcp.PersistentPut#getPersistence()
95          */
96         public Persistence getPersistence() {
97                 return persistentPut.getPersistence();
98         }
99
100         /**
101          * Returns the priority of the request.
102          * 
103          * @return The priority
104          * @see net.pterodactylus.fcp.PersistentPut#getPriority()
105          */
106         public Priority getPriority() {
107                 return persistentPut.getPriority();
108         }
109
110         /**
111          * Returns the target filename of the request
112          * 
113          * @return The target filename
114          * @see net.pterodactylus.fcp.PersistentPut#getTargetFilename()
115          */
116         public String getTargetFilename() {
117                 return persistentPut.getTargetFilename();
118         }
119
120         /**
121          * Returns the upload source of the request.
122          * 
123          * @return The upload source
124          * @see net.pterodactylus.fcp.PersistentPut#getUploadFrom()
125          */
126         public UploadFrom getUploadFrom() {
127                 return persistentPut.getUploadFrom();
128         }
129
130         /**
131          * Returns the URI of the request.
132          * 
133          * @return The URI
134          * @see net.pterodactylus.fcp.PersistentPut#getURI()
135          */
136         public String getURI() {
137                 return persistentPut.getURI();
138         }
139
140         /**
141          * Returns the verbosity of the request.
142          * 
143          * @return The verbosity
144          * @see net.pterodactylus.fcp.PersistentPut#getVerbosity()
145          */
146         public Verbosity getVerbosity() {
147                 return persistentPut.getVerbosity();
148         }
149
150         /**
151          * Returns whether the request is on the global queue.
152          * 
153          * @return <code>true</code> if the request is on the global queue,
154          *         <code>false</code> if it is on the client-local queue
155          * @see net.pterodactylus.fcp.PersistentPut#isGlobal()
156          */
157         public boolean isGlobal() {
158                 return persistentPut.isGlobal();
159         }
160
161         /**
162          * Returns whether the request has already started.
163          * 
164          * @return <code>true</code> if the request has started,
165          *         <code>false</code> otherwise
166          * @see net.pterodactylus.fcp.PersistentPut#isStarted()
167          */
168         public boolean isStarted() {
169                 return persistentPut.isStarted();
170         }
171
172 }