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

com.crabshue.commons.aggregator.model.AggregatorConfiguration Maven / Gradle / Ivy

The newest version!
package com.crabshue.commons.aggregator.model;

import lombok.Data;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;

@Data
public class AggregatorConfiguration {
    private List analysedPackages;
    private List processings;
    private List functionList;
    private List classList;

    public AggregatorConfiguration() {
        this.functionList = new ArrayList<>();
        this.classList = new ArrayList<>();
    }

    public void setProcessing(String processing) {
        this.processings = new ArrayList<>();
        this.processings.add(processing);
    }

    public boolean addFunction(Function function) {
        return functionList.add(function);
    }

    public boolean addClass(Class aClass) {
        return classList.add(aClass);
    }

    @Override
    public boolean equals(Object o) {
        if (this == o)
            return true;
        if (o == null || getClass() != o.getClass())
            return false;

        AggregatorConfiguration that = (AggregatorConfiguration) o;

        if (!functionList.equals(that.functionList)) return false;
        if (!classList.equals(that.classList)) return false;
        return Objects.equals(analysedPackages, that.analysedPackages);
    }

    @Override
    public int hashCode() {
        int result = functionList.hashCode();
        result = 31 * result + classList.hashCode();
        result = 31 * result + (analysedPackages != null ? analysedPackages.hashCode() : 0);
        return result;
    }

    public void setAnalysedPackage(String analysedPackage) {
        this.analysedPackages = new ArrayList<>();
        this.analysedPackages.add(analysedPackage);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy