PDFOCVExpression.java 4.47 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.internal.pdftoolkit.core.cos.CosArray
 *  com.adobe.internal.pdftoolkit.core.cos.CosName
 *  com.adobe.internal.pdftoolkit.core.cos.CosObject
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException
 *  com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException
 *  com.adobe.internal.pdftoolkit.core.types.ASName
 */
package com.adobe.internal.pdftoolkit.pdf.graphics.optionalcontent;

import com.adobe.internal.pdftoolkit.core.cos.CosArray;
import com.adobe.internal.pdftoolkit.core.cos.CosName;
import com.adobe.internal.pdftoolkit.core.cos.CosObject;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFIOException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFInvalidDocumentException;
import com.adobe.internal.pdftoolkit.core.exceptions.PDFSecurityException;
import com.adobe.internal.pdftoolkit.core.types.ASName;
import com.adobe.internal.pdftoolkit.pdf.document.PDFCosObject;
import com.adobe.internal.pdftoolkit.pdf.document.PDFDocument;
import com.adobe.internal.pdftoolkit.pdf.graphics.optionalcontent.PDFOCGroup;
import com.adobe.internal.pdftoolkit.pdf.graphics.optionalcontent.PDFOCGroupArray;

public class PDFOCVExpression
extends PDFCosObject {
    private PDFOCVExpression(CosObject cosObject) throws PDFInvalidDocumentException {
        super(cosObject);
    }

    public static PDFOCVExpression getInstance(CosObject cosObject) throws PDFInvalidDocumentException {
        if (PDFCosObject.checkNullCosObject(cosObject) == null) {
            return null;
        }
        PDFOCVExpression pdfObject = PDFCosObject.getCachedInstance(cosObject, PDFOCVExpression.class);
        if (pdfObject == null) {
            pdfObject = new PDFOCVExpression(cosObject);
        }
        return pdfObject;
    }

    public static PDFOCVExpression newInstance(PDFDocument pdfDocument) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray cosObject = PDFCosObject.newCosArray(pdfDocument);
        return new PDFOCVExpression((CosObject)cosObject);
    }

    public static PDFOCVExpression newInstance(PDFDocument pdfDocument, ASName operator, PDFOCGroup ocg) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray cosObject = PDFCosObject.newCosArray(pdfDocument);
        PDFOCVExpression pdfObject = new PDFOCVExpression((CosObject)cosObject);
        cosObject.addName(0, operator);
        cosObject.add(ocg.getCosObject());
        return pdfObject;
    }

    public void setOperatorAnd() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setOperator(ASName.k_And);
    }

    public void setOperatorOr() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setOperator(ASName.k_Or);
    }

    public void setOperatorNot() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        this.setOperator(ASName.k_Not);
    }

    private void setOperator(ASName operator) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray obj = this.getCosArray();
        if (obj != null) {
            obj.addName(0, operator);
        }
    }

    public ASName getOperator() throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosObject nameObj;
        ASName result = null;
        CosArray obj = this.getCosArray();
        if (obj != null && !obj.isEmpty() && (nameObj = obj.get(0)) instanceof CosName) {
            result = ((CosName)nameObj).nameValue();
        }
        return result;
    }

    public void addOCG(PDFOCGroup ocg) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray obj = this.getCosArray();
        if (obj != null) {
            obj.add(ocg.getCosObject());
        }
    }

    public void addOCGList(PDFOCGroupArray ocgList) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray obj = this.getCosArray();
        if (obj != null) {
            for (PDFOCGroup elem : ocgList) {
                obj.add(elem.getCosObject());
            }
        }
    }

    public void addVExpression(PDFOCVExpression vExp) throws PDFInvalidDocumentException, PDFIOException, PDFSecurityException {
        CosArray obj = this.getCosArray();
        if (obj != null) {
            obj.add(vExp.getCosObject());
        }
    }
}