01: package com.canoo.webtest.plugins.pdftest.htmlunit;
02:
03: import java.util.HashMap;
04: import java.util.Map;
05:
06: import org.apache.commons.lang.enums.Enum;
07:
08: /**
09: * Represents a permission that may be configured on a PDF document.
10: * @author Etienne Studer
11: * @author Marc Guillemot
12: */
13: public final class PDFEncryptionPermission extends Enum {
14: private static final Map permissions = new HashMap();
15:
16: private PDFEncryptionPermission(final String label) {
17: super (label);
18: permissions.put(label.toLowerCase(), this );
19: }
20:
21: public final static PDFEncryptionPermission ASSEMBLY = new PDFEncryptionPermission(
22: "assembly");
23: public final static PDFEncryptionPermission COPY = new PDFEncryptionPermission(
24: "copy");
25: public final static PDFEncryptionPermission DEGRADED_PRINTING = new PDFEncryptionPermission(
26: "degradedPrinting");
27: public final static PDFEncryptionPermission FILL_IN = new PDFEncryptionPermission(
28: "fillIn");
29: public final static PDFEncryptionPermission PRINTING = new PDFEncryptionPermission(
30: "printing");
31: public final static PDFEncryptionPermission MODIFY_ANNOTATIONS = new PDFEncryptionPermission(
32: "modifyAnnotations");
33: public final static PDFEncryptionPermission MODIFY_CONTENTS = new PDFEncryptionPermission(
34: "modifyContents");
35: public final static PDFEncryptionPermission SCREEN_READERS = new PDFEncryptionPermission(
36: "screenReaders");
37:
38: /**
39: * Gets the permission with the given label
40: * @param label (case insensitive)
41: * @return <code>null</code> if not encryption permission is found with this name
42: */
43: public static PDFEncryptionPermission get(final String label) {
44: if (label == null)
45: throw new NullPointerException();
46:
47: return (PDFEncryptionPermission) permissions.get(label
48: .toLowerCase());
49: }
50: }
|