All Downloads are FREE. Search and download functionalities are using the official Maven repository.

de.intarsys.pdf.pd.AcroFormSigFlags Maven / Gradle / Ivy

/*
 * Copyright (c) 2007, intarsys consulting GmbH
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 *   this list of conditions and the following disclaimer.
 *
 * - Redistributions in binary form must reproduce the above copyright notice,
 *   this list of conditions and the following disclaimer in the documentation
 *   and/or other materials provided with the distribution.
 *
 * - Neither the name of intarsys nor the names of its contributors may be used
 *   to endorse or promote products derived from this software without specific
 *   prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 */
package de.intarsys.pdf.pd;

/**
 * The flags of a signature field.
 * 

* The flags are bits of an integer.
* The following bits are defined (more may exist). *

*
    *
  • 0: default *
  • 1: SignatureExists *
  • 2: AppendOnly *
*/ public class AcroFormSigFlags extends AbstractBitFlags { static public int Bit_SignatureExists = 1; // Bit position 1 static public int Bit_AppendOnly = 1 << 1; // Bit position 2 private PDAcroForm acroForm; public AcroFormSigFlags(int value) { super(value); } public AcroFormSigFlags(PDAcroForm form) { super(form, null); acroForm = form; } protected PDAcroForm getAcroForm() { return acroForm; } @Override protected int getValueInObject() { return getAcroForm().getFieldInt(PDAcroForm.DK_SigFlags, 0); } /** * @see de.intarsys.pdf.pd.AcroFormSigFlags#setAppendOnly(boolean) * * @return appendOnly flag */ public boolean isAppendOnly() { return isSetAnd(Bit_AppendOnly); } /** * @see de.intarsys.pdf.pd.AcroFormSigFlags#setSignatureExists(boolean) * * @return signatureExists flag */ public boolean isSignatureExists() { return isSetAnd(Bit_SignatureExists); } /** * excerpt from PDF 1.7 spec (p. 674): *

* If set, the document contains signatures that may be invalidated if the * file is saved (written) in a way that alters its previous contents, as * opposed to an incremental update. Merely updating the file by appending * new information to the end of the previous version is safe (see Section * G.6, ?Updating Example?). Viewer applications can use this flag to * present a user requesting a full save with an additional alert box * warning that signatures will be invalidated and requiring explicit * confirmation before continuing with the operation. *

* * @param appendOnly */ public void setAppendOnly(boolean appendOnly) { set(Bit_AppendOnly, appendOnly); } /** * excerpt from PDF 1.7 spec (p. 674): *

* If set, the document contains at least one signature field. This flag * allows a viewer application to enable user interface items (such as menu * items or pushbuttons) related to signature processing without having to * scan the entire document for the presence of signature fields. *

* * @param signatureExists */ public void setSignatureExists(boolean signatureExists) { set(Bit_SignatureExists, signatureExists); } @Override protected void setValueInObject(int newValue) { if (newValue != 0) { // default getAcroForm().setFieldInt(PDAcroForm.DK_SigFlags, newValue); } else { getAcroForm().cosRemoveField(PDAcroForm.DK_SigFlags); } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy