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 @@ + + + +HttpData xref + + + +
View Javadoc
+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 }
+
+
+ + +