TimedRequestImpl.java 1.65 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  javax.servlet.http.HttpServletRequest
 */
package com.adobe.granite.requests.logging.impl;

import com.adobe.granite.requests.logging.api.TimedRequest;
import java.util.Date;
import javax.servlet.http.HttpServletRequest;

public final class TimedRequestImpl
implements Comparable<TimedRequest>,
TimedRequest {
    private final Long duration;
    private final String requestUrl;
    private final String requestMethod;
    private final Date requestDate;

    public TimedRequestImpl(HttpServletRequest request, Long duration, Long reqDate) {
        this.requestUrl = request.getRequestURL().toString();
        this.requestMethod = request.getMethod();
        this.requestDate = new Date(reqDate);
        this.duration = duration;
    }

    @Override
    public String getRequestUrl() {
        return this.requestUrl;
    }

    @Override
    public String getRequestMethod() {
        return this.requestMethod;
    }

    @Override
    public Date getRequestDate() {
        return this.requestDate;
    }

    @Override
    public Long getDuration() {
        return this.duration;
    }

    @Override
    public int compareTo(TimedRequest timedRequest) {
        if (this.duration < timedRequest.getDuration()) {
            return -1;
        }
        if (this.duration > timedRequest.getDuration()) {
            return 1;
        }
        if (this.requestDate.getTime() < timedRequest.getRequestDate().getTime()) {
            return -1;
        }
        if (this.requestDate.getTime() > timedRequest.getRequestDate().getTime()) {
            return 1;
        }
        return 0;
    }
}