Class PDNonTerminalField

  • All Implemented Interfaces:
    COSObjectable

    public class PDNonTerminalField
    extends PDField
    A non terminal field in an interactive form. A non terminal field is a node in the fields tree node whose descendants are fields. The attributes such as FT (field type) or V (field value) do not logically belong to the non terminal field but are inheritable attributes for descendant terminal fields.
    • Constructor Detail

      • PDNonTerminalField

        public PDNonTerminalField​(PDAcroForm acroForm)
        Constructor.
        Parameters:
        acroForm - The form that this field is part of.
    • Method Detail

      • getFieldFlags

        public int getFieldFlags()
        Description copied from class: PDField
        This will get the flags for this field.
        Specified by:
        getFieldFlags in class PDField
        Returns:
        flags The set of flags.
      • getChildren

        public java.util.List<PDField> getChildren()
        Returns this field's children. These may be either terminal or non-terminal fields.
        Returns:
        the list of child fields. Be aware that this list is not backed by the children of the field, so adding or deleting has no effect on the PDF document until you call setChildren() with the modified list.
      • setChildren

        public void setChildren​(java.util.List<PDField> children)
        Sets the child fields.
        Parameters:
        children - The list of child fields.
      • getFieldType

        public java.lang.String getFieldType()
        Get the FT entry of the field. This is a read only field and is set depending on the actual type. The field type is an inheritable attribute.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

        Specified by:
        getFieldType in class PDField
        Returns:
        The Field type.
      • getValue

        public COSBase getValue()
        Get the field value.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

      • getValueAsString

        public java.lang.String getValueAsString()
        Returns a string representation of the "V" entry, or an empty string.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

        Specified by:
        getValueAsString in class PDField
        Returns:
        The list of widget annotations.
      • setValue

        public void setValue​(COSBase object)
                      throws java.io.IOException
        Sets the value of this field. This may be of any kind which is valid for this field's children.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

        Parameters:
        object -
        Throws:
        java.io.IOException
      • setValue

        public void setValue​(java.lang.String value)
                      throws java.io.IOException
        Sets the plain text value of this field.
        Specified by:
        setValue in class PDField
        Parameters:
        value - Plain text
        Throws:
        java.io.IOException - if the value could not be set
      • getDefaultValue

        public COSBase getDefaultValue()
        Returns the default value of this field. This may be of any kind which is valid for this field's children.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

      • setDefaultValue

        public void setDefaultValue​(COSBase value)
        Sets the default of this field. This may be of any kind which is valid for this field's children.

        Note: while non-terminal fields do inherit field values, this method returns the local value, without inheritance.

        Parameters:
        value -
      • getWidgets

        public java.util.List<PDAnnotationWidget> getWidgets()
        Description copied from class: PDField
        Returns the widget annotations associated with this field. For PDNonTerminalField the list will be empty as non terminal fields have no visual representation in the form.
        Specified by:
        getWidgets in class PDField
        Returns:
        a List of PDAnnotationWidget annotations. Be aware that this list is not backed by the actual widget collection of the field, so adding or deleting has no effect on the PDF document. For PDTerminalField you'd have to call setWidgets() with the modified list.