package org.molgenis.data.annotation.core.exception;
import org.molgenis.data.Entity;
import org.molgenis.data.meta.model.Attribute;
import java.util.List;
import java.util.Objects;
public class AnnotationException extends RuntimeException
{
private final Integer entityNumber;
private final Entity failedEntity;
private final String annotatorName;
private final List<Attribute> requiredAttributes;
public AnnotationException(Entity failedEntity, int lineNumber, List<Attribute> requiredAttributes,
String annotatorName, Throwable cause)
{
super(cause);
this.failedEntity = failedEntity;
this.entityNumber = Objects.requireNonNull(lineNumber);
this.requiredAttributes = requiredAttributes;
this.annotatorName = annotatorName;
}
public AnnotationException(AnnotationException ae)
{
this(ae.getFailedEntity(), ae.getEntityNumber(), ae.getRequiredAttributes(), ae.getAnnotatorName(),
ae.getCause());
}
public Integer getEntityNumber()
{
return entityNumber;
}
public Entity getFailedEntity()
{
return failedEntity;
}
public List<Attribute> getRequiredAttributes()
{
return requiredAttributes;
}
public String getAnnotatorName()
{
return annotatorName;
}
}