
com.crabshue.commons.aggregator.model.AggregatorConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of commons-aggregator Show documentation
Show all versions of commons-aggregator Show documentation
Library aggregating fields using annotations in complex objects structures
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