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

org.zalando.problem.spring.web.advice.HttpStatusAdapter Maven / Gradle / Ivy

There is a newer version: 0.29.1
Show newest version
package org.zalando.problem.spring.web.advice;

import org.springframework.http.HttpStatus;

import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.Status.Family;
import java.util.Objects;

/**
 * An implementation of {@link javax.ws.rs.core.Response.StatusType} to map {@link HttpStatus}.
 */
public class HttpStatusAdapter implements Response.StatusType {

    private final HttpStatus status;

    public HttpStatusAdapter(final HttpStatus status) {
        this.status = status;
    }

    @Override
    public int getStatusCode() {
        return status.value();
    }

    @Override
    public Family getFamily() {
        return Family.familyOf(status.value());
    }

    @Override
    public String getReasonPhrase() {
        return status.getReasonPhrase();
    }

    @Override
    public boolean equals(final Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof HttpStatusAdapter)) {
            return false;
        }
        final HttpStatusAdapter that = (HttpStatusAdapter) o;
        return status == that.status;
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(status);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy