package gov.loc.repository.bagit.conformance.profile;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* This class is used to define elements in a bag-info.txt file used by a bagit-profile.
*/
public class BagInfoRequirement {
private boolean required;
private List<String> acceptableValues = new ArrayList<>();
@Override
public boolean equals(final Object other) {
if (!(other instanceof BagInfoRequirement)) {
return false;
}
final BagInfoRequirement castOther = (BagInfoRequirement) other;
return Objects.equals(required, castOther.required)
&& Objects.equals(acceptableValues, castOther.acceptableValues);
}
@Override
public int hashCode() {
return Objects.hash(required, acceptableValues);
}
public BagInfoRequirement(){
//intentionally left empty
}
public BagInfoRequirement(final boolean required, final List<String> acceptableValues){
this.required = required;
this.acceptableValues = acceptableValues;
}
@Override
public String toString() {
return "[required=" + required + ", acceptableValues=" + acceptableValues + "]";
}
public boolean isRequired() {
return required;
}
public void setRequired(final boolean required) {
this.required = required;
}
public List<String> getAcceptableValues() {
return acceptableValues;
}
public void setAcceptableValues(final List<String> acceptableValues) {
this.acceptableValues = acceptableValues;
}
}