Skip to content

Commit 67eac40

Browse files
committed
Javadocs
1 parent c2cbbc7 commit 67eac40

File tree

1 file changed

+76
-1
lines changed

1 file changed

+76
-1
lines changed

access-grant/src/main/java/com/inrupt/client/accessgrant/AccessRequest.java

Lines changed: 76 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ static AccessRequest parse(final String serialization) throws IOException {
139139
/**
140140
* A collection of parameters used for creating access requests.
141141
*
142-
* <p>See, in particular, the {@link AccessGrantClient.requestAccess(RequestParameters)} method.
142+
* <p>See, in particular, the {@link AccessGrantClient#requestAccess(RequestParameters)} method.
143143
*/
144144
public static class RequestParameters {
145145

@@ -221,6 +221,9 @@ public Instant getIssuedAt() {
221221
return issuedAt;
222222
}
223223

224+
/**
225+
* A class for building access request parameters.
226+
*/
224227
public static class Builder {
225228

226229
private final Set<URI> builderResources = new HashSet<>();
@@ -230,20 +233,43 @@ public static class Builder {
230233
private Instant builderExpiration;
231234
private Instant builderIssuedAt;
232235

236+
/* package-private */
233237
Builder() {
234238
// Prevent external instantiation
235239
}
236240

241+
/**
242+
* Set a recipient for the access request operation.
243+
*
244+
* <p>Note: this will typically be the identifier of resource owner
245+
*
246+
* @param recipient the recipient identifier, may be {@code null}
247+
* @return this builder
248+
*/
237249
public Builder recipient(final URI recipient) {
238250
builderRecipient = recipient;
239251
return this;
240252
}
241253

254+
/**
255+
* Set a single resource for the access request operation.
256+
*
257+
* @param resource the resource identifier, not {@code null}
258+
* @return this builder
259+
*/
242260
public Builder resource(final URI resource) {
243261
builderResources.add(resource);
244262
return this;
245263
}
246264

265+
/**
266+
* Set multiple resources for the access request operation.
267+
*
268+
* <p>Note: A null value will clear all existing resource values
269+
*
270+
* @param resources the resource identifiers, may be {@code null}
271+
* @return this builder
272+
*/
247273
public Builder resources(final Collection<URI> resources) {
248274
if (resources != null) {
249275
builderResources.addAll(resources);
@@ -253,11 +279,25 @@ public Builder resources(final Collection<URI> resources) {
253279
return this;
254280
}
255281

282+
/**
283+
* Set a single access mode for the access request operation.
284+
*
285+
* @param mode the access mode, not {@code null}
286+
* @return this builder
287+
*/
256288
public Builder mode(final String mode) {
257289
builderModes.add(mode);
258290
return this;
259291
}
260292

293+
/**
294+
* Set multiple access modes for the access request operation.
295+
*
296+
* <p>Note: A null value will clear all existing mode values
297+
*
298+
* @param modes the access modes, may be {@code null}
299+
* @return this builder
300+
*/
261301
public Builder modes(final Collection<String> modes) {
262302
if (modes != null) {
263303
builderModes.addAll(modes);
@@ -267,11 +307,25 @@ public Builder modes(final Collection<String> modes) {
267307
return this;
268308
}
269309

310+
/**
311+
* Set a single purpose for the access request operation.
312+
*
313+
* @param purpose the purpose identifier, not {@code null}
314+
* @return this builder
315+
*/
270316
public Builder purpose(final URI purpose) {
271317
builderPurposes.add(purpose);
272318
return this;
273319
}
274320

321+
/**
322+
* Set multiple purposes for the access request operation.
323+
*
324+
* <p>Note: A null value will clear all existing purpose values
325+
*
326+
* @param purposes the purpose identifiers, may be {@code null}
327+
* @return this builder
328+
*/
275329
public Builder purposes(final Collection<URI> purposes) {
276330
if (purposes != null) {
277331
builderPurposes.addAll(purposes);
@@ -281,16 +335,37 @@ public Builder purposes(final Collection<URI> purposes) {
281335
return this;
282336
}
283337

338+
/**
339+
* Set a preferred expiration time for the access request operation.
340+
*
341+
* <p>Note: an access grant server may select a different expiration value
342+
*
343+
* @param expiration the expiration time, may be {@code null}.
344+
* @return this builder
345+
*/
284346
public Builder expiration(final Instant expiration) {
285347
builderExpiration = expiration;
286348
return this;
287349
}
288350

351+
/**
352+
* Set a preferred issuance time for the access request operation, likely at a time in the future.
353+
*
354+
* <p>Note: an access grant server may select a different issuance value
355+
*
356+
* @param issuedAt the issuance time, may be {@code null}.
357+
* @return this builder
358+
*/
289359
public Builder issuedAt(final Instant issuedAt) {
290360
builderIssuedAt = issuedAt;
291361
return this;
292362
}
293363

364+
/**
365+
* Build the {@link RequestParameters} object.
366+
*
367+
* @return the access request parameters
368+
*/
294369
public RequestParameters build() {
295370
return new RequestParameters(builderRecipient, builderResources, builderModes, builderPurposes,
296371
builderExpiration, builderIssuedAt);

0 commit comments

Comments
 (0)