Class AcroRadioButtonGroupField
- java.lang.Object
-
- com.snowtide.pdf.forms.AcroButtonField
-
- com.snowtide.pdf.forms.AcroRadioButtonGroupField
-
- All Implemented Interfaces:
DocumentLocation,AcroFormField,FormField,Bounded
public class AcroRadioButtonGroupField extends AcroButtonField
Instances of this class represent a group of radio buttons in aninteractive forms. Refer toAcroButtonFieldandAcroFormFieldfor overview documentation.- Since:
- v2.1
- Version:
- ©2004-2025 Snowtide
-
-
Field Summary
-
Fields inherited from class com.snowtide.pdf.forms.AcroButtonField
BUTTON_TYPE_CHECKBOX, BUTTON_TYPE_PUSHBUTTON, BUTTON_TYPE_RADIO_GROUP, DEFAULT_UNSELECTED_VALUE
-
Fields inherited from interface com.snowtide.pdf.forms.AcroFormField
FIELD_TYPE_BUTTON, FIELD_TYPE_CHOICE, FIELD_TYPE_OTHER, FIELD_TYPE_SIGNATURE, FIELD_TYPE_TEXT
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Regionbounds()Returns the region on the page where this radio button group is positioned.booleancanChangeValue()This function always returns true.ObjectgetDefaultValue()Returns the default value to which the field reverts when a reset-form action is executed, as specified in the /DV entry in this field's PDF dictionary.StringgetFullName()Returns the fully-qualified name of this field, which should be unique within a PDF document form.StringgetLocalName()Returns the local name of the field, as specified in the /T entry in this field's PDF dictionary.StringgetMappingName()Returns the 'mapping name' of this field, as specified in the /TM entry in this field's PDF dictionary.StringgetName()Returns the canonical name of this field.SetgetPossibleValues()Returns a set of the possible values that may be set on this button.ObjectgetType()Returns the type of field, as specified in the /FT entry in this field's PDF dictionary.StringgetUIName()Returns the user-friendly name of this field, as specified in the /TU entry in this field's PDF dictionary.booleanhasValueChanged()Returns true only if this field's value has been changed since being loaded from the PDF document.booleanisReadOnly()Returns true only if this field is designated as read-only.intpageNumber()This page number is 0-indexed, and may be used to retrieve aPageobject representing the page's content using theDocument#getPage(int)function.booleansetValue(String val)Sets the value of this button field.-
Methods inherited from class com.snowtide.pdf.forms.AcroButtonField
getButtonType, getExportValue, getExportValues, getValue
-
-
-
-
Method Detail
-
getPossibleValues
public Set getPossibleValues()
Returns a set of the possible values that may be set on this button. These values are derived from the set of names of possible appearances that are available for this button. All possible values must be Strings.
-
setValue
public boolean setValue(String val) throws IllegalArgumentException
Sets the value of this button field. The provided String must be in the set of possible values for this field (seegetPossibleValues()or null (i.e. no buttons in the radio button group should be selected).- Specified by:
setValuein interfaceAcroFormField- Returns:
- true if the value of this field has been changed; false is returned if the provided value is the same as the current value, and no change has been made
- Throws:
IllegalArgumentException- if a String is provided that is not in the set returned bygetPossibleValues().
-
canChangeValue
public boolean canChangeValue()
This function always returns true.- Specified by:
canChangeValuein interfaceAcroFormField
-
bounds
public Region bounds()
Returns the region on the page where this radio button group is positioned.Since radio groups are an abstract construct — they are not rendered in any way, they only modify the behaviour and semantics of their constituent radio buttons — radio groups have no declared bounds of their own. Therefore, this method returns the
unionof the bounds of all the radio group's buttons.
-
pageNumber
public int pageNumber()
Description copied from interface:DocumentLocationThis page number is 0-indexed, and may be used to retrieve aPageobject representing the page's content using theDocument.getPage(int)function.If a page number is not available for some reason, then this method will return -1.
- Specified by:
pageNumberin interfaceDocumentLocation
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:AcroFormFieldReturns true only if this field is designated as read-only. Note that this is just a hint, provided for the benefit of end-user tools. PDFxStream does not enforce the read-only state of a form field; i.e. it will allow a field's value to be set even if it is designated as read-only.- Specified by:
isReadOnlyin interfaceAcroFormField
-
getDefaultValue
public Object getDefaultValue()
Description copied from interface:AcroFormFieldReturns the default value to which the field reverts when a reset-form action is executed, as specified in the /DV entry in this field's PDF dictionary. The type of the returned object will be the same as the type of object returned by theAcroFormField.getValue()function, and depends upon the type of this field.- Specified by:
getDefaultValuein interfaceAcroFormField
-
getFullName
public String getFullName()
Description copied from interface:AcroFormFieldReturns the fully-qualified name of this field, which should be unique within a PDF document form. Details of how full names are constructed are specified in Section 8.6.2 (Field Names) of the PDF Document Specification.
It suffices to say here that form fields in an interactive AcroForm are defined in a hierarchical manner, and that their
local namesare used to derive a period-delimited full name that guarantees each name's uniqueness within the parent AcroForm.- Specified by:
getFullNamein interfaceAcroFormField
-
getLocalName
public String getLocalName()
Description copied from interface:AcroFormFieldReturns the local name of the field, as specified in the /T entry in this field's PDF dictionary. This name is also used as the value returned by theFormField.getName()implementation.- Specified by:
getLocalNamein interfaceAcroFormField
-
getMappingName
public String getMappingName()
Description copied from interface:AcroFormFieldReturns the 'mapping name' of this field, as specified in the /TM entry in this field's PDF dictionary. The mapping name is used to identify the field in exported form data formats. This function can return null if no mapping name is defined.- Specified by:
getMappingNamein interfaceAcroFormField
-
getName
public String getName()
Description copied from interface:FormFieldReturns the canonical name of this field. Only oneFormFieldinstance with a particular name should be available from aForminstance.
-
getType
public Object getType()
Description copied from interface:AcroFormFieldReturns the type of field, as specified in the /FT entry in this field's PDF dictionary. This is an indication of the subtype of this AcroFormField instance:- If the return value is
FIELD_TYPE_BUTTON, then this AcroFormField is an instance ofAcroButtonField - If the return value is
FIELD_TYPE_TEXT, then this AcroFormField is an instance ofAcroTextField - If the return value is
FIELD_TYPE_CHOICE, then this AcroFormField is an instance ofAcroChoiceField - If the return value is
FIELD_TYPE_SIGNATURE, then this AcroFormField is an instance ofAcroSignatureField - If the return value is
FIELD_TYPE_OTHER, then this AcroFormField has no specific concrete implementation. This case is reserved for form fields with new type indicators that may be introduced by Adobe in the future.
- Specified by:
getTypein interfaceAcroFormField
- If the return value is
-
hasValueChanged
public boolean hasValueChanged()
Description copied from interface:AcroFormFieldReturns true only if this field's value has been changed since being loaded from the PDF document.- Specified by:
hasValueChangedin interfaceAcroFormField
-
getUIName
public String getUIName()
Description copied from interface:AcroFormFieldReturns the user-friendly name of this field, as specified in the /TU entry in this field's PDF dictionary. This function can return null if no user-friendly field name is defined.
- Specified by:
getUINamein interfaceAcroFormField- Specified by:
getUINamein interfaceFormField
-
-