package liquibase.changelog.filter;
/**
* Contains the result of a {@link liquibase.changelog.filter.ChangeSetFilter#accepts(liquibase.changelog.ChangeSet)} call.
*
* {@link #getMessage()}, but {@link #getFilter()} can be used to programatically determine the reason for accepting or not.
*/
public class ChangeSetFilterResult {
private boolean accepted;
private String message;
private final Class<? extends ChangeSetFilter> filter;
public ChangeSetFilterResult(boolean accepted, String message, Class<? extends ChangeSetFilter> filter) {
this.accepted = accepted;
this.message = message;
this.filter = filter;
}
/**
* Was the change set accepted by the filter
*/
public boolean isAccepted() {
return accepted;
}
/**
* Free-form text message from the filter giving the reason for accepting or rejecting. May be null.
*/
public String getMessage() {
return message;
}
/**
* Returns the class of the filter that accepted or rejected this change set.
*/
public Class<? extends ChangeSetFilter> getFilter() {
return filter;
}
@Override
public String toString() {
if (accepted) {
return "Will run because "+message;
} else {
return "Will NOT run because "+message;
}
}
}