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

com.qdesrame.openapi.diff.model.ChangedApiResponse Maven / Gradle / Ivy

There is a newer version: 1.2.0
Show newest version
package com.qdesrame.openapi.diff.model;

import io.swagger.v3.oas.models.responses.ApiResponse;
import io.swagger.v3.oas.models.responses.ApiResponses;
import lombok.Getter;
import lombok.Setter;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by adarsh.sharma on 22/12/17.
 */
@Getter
@Setter
public class ChangedApiResponse implements Changed {
    private ApiResponses oldApiResponses;
    private ApiResponses newApiResponses;
    private Map missingResponses;
    private Map addResponses;
    private Map changedResponses;

    public ChangedApiResponse(ApiResponses oldApiResponses, ApiResponses newApiResponses) {
        this.oldApiResponses = oldApiResponses;
        this.newApiResponses = newApiResponses;
        this.missingResponses = new HashMap<>();
        this.addResponses = new HashMap<>();
        this.changedResponses = new HashMap<>();
    }

    @Override
    public boolean isDiff() {
        return !addResponses.isEmpty() || !missingResponses.isEmpty() || !changedResponses.isEmpty();
    }

    @Override
    public boolean isDiffBackwardCompatible() {
        return addResponses.size() == 0
                && changedResponses.values().stream().allMatch(c -> c.isDiffBackwardCompatible());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy