package com.constellio.model.entities.schemas; import java.util.List; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import com.constellio.model.services.search.query.logical.condition.LogicalSearchCondition; public class ModificationImpact { final MetadataSchemaType impactedSchemaType; final List<Metadata> metadataToReindex; final LogicalSearchCondition logicalSearchCondition; final int potentialImpactsCount; final String transactionTitle; public ModificationImpact(MetadataSchemaType impactedSchemaType, List<Metadata> metadataToReindex, LogicalSearchCondition logicalSearchCondition, int potentialImpactsCount, String transactionTitle) { this.impactedSchemaType = impactedSchemaType; this.metadataToReindex = metadataToReindex; this.logicalSearchCondition = logicalSearchCondition; this.potentialImpactsCount = potentialImpactsCount; this.transactionTitle = transactionTitle; if (logicalSearchCondition == null) { throw new RuntimeException("logicalSearchCondition required"); } } public List<Metadata> getMetadataToReindex() { return metadataToReindex; } public LogicalSearchCondition getLogicalSearchCondition() { return logicalSearchCondition; } @Override public int hashCode() { return HashCodeBuilder.reflectionHashCode(this); } @Override public boolean equals(Object obj) { return EqualsBuilder.reflectionEquals(this, obj); } public MetadataSchemaType getImpactedSchemaType() { return impactedSchemaType; } public int getPotentialImpactsCount() { return potentialImpactsCount; } public String getTransactionTitle() { return transactionTitle; } @Override public String toString() { return "ModificationImpact{" + "impactedSchemaType=" + impactedSchemaType + ", metadataToReindex=" + metadataToReindex + ", logicalSearchCondition=" + logicalSearchCondition + ", potentialImpactsCount=" + potentialImpactsCount + '}'; } }