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

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

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

import lombok.Getter;
import lombok.Setter;

import java.util.Map;

/**
 * Created by adarsh.sharma on 22/12/17.
 */
@Getter
@Setter
public class ChangedOneOfSchema implements RequestResponseChanged {
    private Map oldMapping;
    private Map newMapping;

    private Map increasedMapping;
    private Map missingMapping;
    private Map changedMapping;

    public ChangedOneOfSchema(Map oldMapping, Map newMapping) {
        this.oldMapping = oldMapping;
        this.newMapping = newMapping;
    }

    @Override
    public boolean isDiff() {
        return increasedMapping.size() > 0 || missingMapping.size() > 0 || changedMapping.size() > 0;
    }

    @Override
    public boolean isDiffBackwardCompatible(boolean isRequest) {
        return ((isRequest && missingMapping.isEmpty()) || (!isRequest && increasedMapping.isEmpty()))
                && changedMapping.values().stream().allMatch(m -> m.isDiffBackwardCompatible(isRequest));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy