/** * */ package net.padaf.preflight.helpers; import java.util.ArrayList; import java.util.List; import net.padaf.preflight.DocumentHandler; import net.padaf.preflight.ValidationConstants; import net.padaf.preflight.ValidationException; import net.padaf.preflight.ValidatorConfig; import net.padaf.preflight.ValidationResult.ValidationError; import org.apache.pdfbox.cos.COSDocument; /** * Check if the number of inderect objects is less great than ValidationConstant.MAX_INDIRECT_OBJ. */ public class XRefValidationHelper extends AbstractValidationHelper { /** * @param cfg * @throws ValidationException */ public XRefValidationHelper(ValidatorConfig cfg) throws ValidationException { super(cfg); } /* (non-Javadoc) * @see net.padaf.preflight.helpers.AbstractValidationHelper#innerValidate(net.padaf.preflight.DocumentHandler) */ @Override public List<ValidationError> innerValidate(DocumentHandler handler) throws ValidationException { List<ValidationError> errors = new ArrayList<ValidationError>(); COSDocument document = handler.getDocument().getDocument(); if ( document.getObjects().size() > ValidationConstants.MAX_INDIRECT_OBJ ) { errors.add(new ValidationError(ERROR_SYNTAX_INDIRECT_OBJ_RANGE, "Too many indirect objects")); } return errors; } }