All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.browserup.harreader.model.HarCache Maven / Gradle / Ivy

package com.browserup.harreader.model;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;

import java.util.Date;
import java.util.Objects;

/**
 * Information about a request coming from browser cache.
 * @see specification
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class HarCache {

    private HarCacheInfo beforeRequest;
    private HarCacheInfo afterRequest;
    private String comment;

    /**
     * @return State of the cache entry before the request, null if not present.
     */
    public HarCacheInfo getBeforeRequest() {
        return beforeRequest;
    }

    public void setBeforeRequest(HarCacheInfo beforeRequest) {
        this.beforeRequest = beforeRequest;
    }

    /**
     * @return State of the cache entry after the request, null if not present.
     */
    public HarCacheInfo getAfterRequest() {
        return afterRequest;
    }

    public void setAfterRequest(HarCacheInfo afterRequest) {
        this.afterRequest = afterRequest;
    }

    /**
     * @return Comment provided by the user or application, null if not present.
     */
    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        HarCache harCache = (HarCache) o;
        return Objects.equals(beforeRequest, harCache.beforeRequest) &&
                Objects.equals(afterRequest, harCache.afterRequest) &&
                Objects.equals(comment, harCache.comment);
    }

    @Override
    public int hashCode() {
        return Objects.hash(beforeRequest, afterRequest, comment);
    }

    /**
     * Information about a request coming from browser cache.
     * @see specification
     */
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static final class HarCacheInfo {

        private Date expires;
        private Date lastAccess;
        private String eTag;
        private Integer hitCount;
        private String comment;

        /**
         * @return Expiration time of entry, null if not present.
         */
        @JsonFormat(shape = JsonFormat.Shape.STRING)
        public Date getExpires() {
            return expires;
        }

        public void setExpires(Date expires) {
            this.expires = expires;
        }

        /**
         * @return Last time the entry was opened, null if not present.
         */
        @JsonFormat(shape = JsonFormat.Shape.STRING)
        public Date getLastAccess() {
            return lastAccess;
        }

        public void setLastAccess(Date lastAccess) {
            this.lastAccess = lastAccess;
        }

        /**
         * @return ETag, null if not present.
         */
        public String geteTag() {
            return eTag;
        }

        public void seteTag(String eTag) {
            this.eTag = eTag;
        }

        /**
         * @return Number of times the entry has been opened, null if not present.
         */
        public Integer getHitCount() {
            return hitCount;
        }

        public void setHitCount(Integer hitCount) {
            this.hitCount = hitCount;
        }

        /**
         * @return Comment provided by the user or application, null if not present.
         */
        public String getComment() {
            return comment;
        }

        public void setComment(String comment) {
            this.comment = comment;
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;
            HarCacheInfo that = (HarCacheInfo) o;
            return Objects.equals(expires, that.expires) &&
                    Objects.equals(lastAccess, that.lastAccess) &&
                    Objects.equals(eTag, that.eTag) &&
                    Objects.equals(hitCount, that.hitCount) &&
                    Objects.equals(comment, that.comment);
        }

        @Override
        public int hashCode() {
            return Objects.hash(expires, lastAccess, eTag, hitCount, comment);
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy