X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=dist%2Fhttp-resources%2F2.0.0%2Fxref%2Fde%2Fjuplo%2Fhttpresources%2FHttpData.html;fp=dist%2Fhttp-resources%2F2.0.0%2Fxref%2Fde%2Fjuplo%2Fhttpresources%2FHttpData.html;h=b7db89f3a1ab17063eefd4de1cef6ae87d074fa0;hb=96ec104e2974d001e9bc82c3af8b21029b2042d4;hp=0000000000000000000000000000000000000000;hpb=de1fa457a1c69c673d4dd5c0a2c9af568f74ea12;p=website diff --git a/dist/http-resources/2.0.0/xref/de/juplo/httpresources/HttpData.html b/dist/http-resources/2.0.0/xref/de/juplo/httpresources/HttpData.html new file mode 100644 index 00000000..b7db89f3 --- /dev/null +++ b/dist/http-resources/2.0.0/xref/de/juplo/httpresources/HttpData.html @@ -0,0 +1,119 @@ + + +
++1 package de.juplo.httpresources; +2 +3 import org.springframework.http.HttpHeaders; +4 import org.springframework.util.StringUtils; +5 +6 import java.util.Arrays; +7 import java.util.Objects; +8 +9 +10 /** +11 * Immutable container for cacheable state of an instance of {@link HttpResource}. +12 */ +13 class HttpData +14 { +15 final static HttpData NOT_FETCHED = +16 new HttpData( +17 null, +18 new HttpHeaders(), +19 false, +20 Long.MIN_VALUE, +21 Long.MIN_VALUE, +22 null); +23 +24 final static HttpData SERVER_ERROR = +25 new HttpData( +26 null, +27 new HttpHeaders(), +28 false, +29 -1, +30 -1, +31 null); +32 +33 final static HttpData NOT_FOUND = SERVER_ERROR; +34 +35 final byte[] content; +36 final HttpHeaders headers; +37 final boolean revalidate; +38 final long lastModified; +39 final long expires; +40 final String eTag; +41 +42 private final String normalizedETag; +43 +44 +45 HttpData( +46 byte[] content, +47 HttpHeaders headers, +48 boolean revalidate, +49 long lastModified, +50 long expires, +51 String eTag) +52 { +53 this.content = content; +54 this.headers = headers; +55 this.revalidate = revalidate; +56 this.lastModified = lastModified; +57 this.expires = expires; +58 this.eTag = eTag; +59 +60 String tmp = StringUtils.hasText(eTag) ? eTag.trim() : ""; +61 this.normalizedETag = +62 tmp.length() >=2 && tmp.charAt(0) == 'W' && tmp.charAt(1) == '/' +63 ? tmp.substring(2).trim() +64 : tmp; +65 } +66 +67 +68 @Override +69 public boolean equals(Object o) +70 { +71 if (this == o) return true; +72 if (!(o instanceof HttpData)) return false; +73 HttpData../../../de/juplo/httpresources/HttpData.html#HttpData">HttpData data = (HttpData) o; +74 +75 if (lastModified == 0 && normalizedETag.length() == 0) +76 return Arrays.equals(content, data.content); +77 +78 return +79 lastModified == data.lastModified && +80 normalizedETag.equals(data.normalizedETag); +81 } +82 +83 @Override +84 public int hashCode() +85 { +86 if (lastModified == 0 && !StringUtils.hasText(eTag)) +87 return Arrays.hashCode(content); +88 +89 return Objects.hash(lastModified, eTag); +90 } +91 +92 @Override +93 public String toString() +94 { +95 final StringBuffer sb = new StringBuffer(); +96 sb.append("headers=").append(headers); +97 sb.append(", revalidate=").append(revalidate); +98 sb.append(", lastModified=").append(lastModified); +99 sb.append(", expires=").append(expires); +100 sb.append(", eTag='").append(eTag).append('\''); +101 sb.append(", content="); +102 if (content == null) sb.append("null"); +103 else sb.append(new String(content)); +104 return sb.toString(); +105 } +106 } ++