public boolean isEligible()

in mail-archive/server/src/main/java/org/apache/sling/mailarchiveserver/impl/AttachmentFilterImpl.java [41:70]


    public boolean isEligible(BodyPart attachment) {
        // extension check
        final String filename = attachment.getFilename();
        String ext = "";
        int idx = filename.lastIndexOf('.');
        if (idx > -1) {
            ext = filename.substring(idx + 1);
        }
        if (eligibleExtensions != null && !eligibleExtensions.contains(ext)) {
            return false;
        }
        
        // size check
        final Body body = attachment.getBody();
        try {
            if (
                    body instanceof BinaryBody 
                    && IOUtils.toByteArray(((BinaryBody) body).getInputStream()).length > maxSize
                    || 
                    body instanceof TextBody
                    && IOUtils.toByteArray(((TextBody) body).getInputStream()).length > maxSize ) {
                return false;
            }
        } catch (IOException e) {
            return false;
        }

        // true, if nothing wrong
        return true;
    }