SecuritySettings.java 6.54 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.pdfg.logging.PDFGLogger
 */
package com.adobe.native2pdf.xml;

import com.adobe.pdfg.config.PDFGConfigUtility;
import com.adobe.pdfg.logging.PDFGLogger;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
@XmlAccessorType(value=XmlAccessType.FIELD)
@XmlType(name="", propOrder={"settings"})
@XmlRootElement(name="security-settings")
public class SecuritySettings
implements Serializable {
    @XmlElement(required=1)
    protected List<Settings> settings;

    public List<Settings> getSettings() {
        if (this.settings == null) {
            this.settings = new ArrayList<Settings>();
        }
        return this.settings;
    }

    public boolean isSetSettings() {
        return this.settings != null && !this.settings.isEmpty();
    }

    public void unsetSettings() {
        this.settings = null;
    }

    @XmlAccessorType(value=XmlAccessType.FIELD)
    @XmlType(name="", propOrder={"acrobatVersion", "encrypt", "documentOpenPasswd", "documentChangePasswd", "printPermissions", "changePermissions", "enableCopying", "enableTextAccess"})
    public static class Settings
    implements Serializable {
        protected int acrobatVersion;
        @XmlElement(required=1, defaultValue="AllContent")
        protected String encrypt;
        @XmlElement(defaultValue="")
        protected String documentOpenPasswd;
        @XmlElement(defaultValue="")
        protected String documentChangePasswd;
        @XmlElement(defaultValue="High")
        protected String printPermissions;
        @XmlElement(defaultValue="Any")
        protected String changePermissions;
        @XmlElement(defaultValue="true")
        protected Boolean enableCopying;
        @XmlElement(defaultValue="true")
        protected Boolean enableTextAccess;
        @XmlAttribute(required=1)
        protected String name;
        @XmlAttribute
        protected Boolean readonly;
        @XmlAttribute(name="default")
        protected Boolean _default;

        public int getAcrobatVersion() {
            return this.acrobatVersion;
        }

        public void setAcrobatVersion(int value) {
            this.acrobatVersion = value;
        }

        public boolean isSetAcrobatVersion() {
            return true;
        }

        public String getEncrypt() {
            return this.encrypt;
        }

        public void setEncrypt(String value) {
            this.encrypt = value;
        }

        public boolean isSetEncrypt() {
            return this.encrypt != null;
        }

        private String getDecryptedPassword(String encryptedPassword) {
            String decryptedPassword = encryptedPassword;
            try {
                decryptedPassword = PDFGConfigUtility.getConfiguredInstance().getClearText(encryptedPassword);
            }
            catch (Exception e) {
                PDFGLogger.getPDFGLogger(this.getClass()).debug("Exception while decrypting password " + encryptedPassword + ": " + e);
            }
            return decryptedPassword;
        }

        public String getDocumentOpenPasswd() {
            return this.getDecryptedPassword(this.documentOpenPasswd);
        }

        public void setDocumentOpenPasswd(String value) {
            this.documentOpenPasswd = value;
        }

        public boolean isSetDocumentOpenPasswd() {
            return this.documentOpenPasswd != null;
        }

        public String getDocumentChangePasswd() {
            return this.getDecryptedPassword(this.documentChangePasswd);
        }

        public void setDocumentChangePasswd(String value) {
            this.documentChangePasswd = value;
        }

        public boolean isSetDocumentChangePasswd() {
            return this.documentChangePasswd != null;
        }

        public String getPrintPermissions() {
            return this.printPermissions;
        }

        public void setPrintPermissions(String value) {
            this.printPermissions = value;
        }

        public boolean isSetPrintPermissions() {
            return this.printPermissions != null;
        }

        public String getChangePermissions() {
            return this.changePermissions;
        }

        public void setChangePermissions(String value) {
            this.changePermissions = value;
        }

        public boolean isSetChangePermissions() {
            return this.changePermissions != null;
        }

        public Boolean isEnableCopying() {
            return this.isSetEnableCopying() ? this.enableCopying : true;
        }

        public void setEnableCopying(Boolean value) {
            this.enableCopying = value;
        }

        public boolean isSetEnableCopying() {
            return this.enableCopying != null;
        }

        public Boolean isEnableTextAccess() {
            return this.isSetEnableTextAccess() ? this.enableTextAccess : true;
        }

        public void setEnableTextAccess(Boolean value) {
            this.enableTextAccess = value;
        }

        public boolean isSetEnableTextAccess() {
            return this.enableTextAccess != null;
        }

        public String getName() {
            return this.name;
        }

        public void setName(String value) {
            this.name = value;
        }

        public boolean isSetName() {
            return this.name != null;
        }

        public boolean isReadonly() {
            if (this.readonly == null) {
                return false;
            }
            return this.readonly;
        }

        public void setReadonly(boolean value) {
            this.readonly = value;
        }

        public boolean isSetReadonly() {
            return this.readonly != null;
        }

        public void unsetReadonly() {
            this.readonly = null;
        }

        public boolean isDefault() {
            if (this._default == null) {
                return false;
            }
            return this._default;
        }

        public void setDefault(boolean value) {
            this._default = value;
        }

        public boolean isSetDefault() {
            return this._default != null;
        }

        public void unsetDefault() {
            this._default = null;
        }
    }

}