1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.mycore.restapi.v2;
20
21 import java.util.Date;
22 import java.util.Optional;
23
24 import jakarta.ws.rs.core.EntityTag;
25 import jakarta.ws.rs.core.Request;
26 import jakarta.ws.rs.core.Response;
27
28 public final class MCRRestUtils {
29
30 public static final String JSON_DATE_FORMAT = "yyyy-MM-dd'T'HH:mm:ss'Z'";
31
32 public static final String TAG_MYCORE_CLASSIFICATION = "mcr_class";
33
34 public static final String TAG_MYCORE_OBJECT = "mcr_object";
35
36 public static final String TAG_MYCORE_DERIVATE = "mcr_derivate";
37
38 public static final String TAG_MYCORE_FILE = "mcr_file";
39
40 public static final String TAG_MYCORE_ABOUT = "mcr_about";
41
42 public static final String TAG_MYCORE_EVENTS = "mcr_events";
43
44 private MCRRestUtils() {
45 }
46
47 public static Optional<Response> getCachedResponse(Request request, Date lastModified) {
48 return Optional.ofNullable(request)
49 .map(r -> r.evaluatePreconditions(lastModified))
50 .map(Response.ResponseBuilder::build);
51 }
52
53 public static Optional<Response> getCachedResponse(Request request, Date lastModified, EntityTag eTag) {
54 return Optional.ofNullable(request)
55 .map(r -> r.evaluatePreconditions(lastModified, eTag))
56 .map(Response.ResponseBuilder::build);
57 }
58 }