Top Constructors Methods
org.apache.pdfbox.preflight.action

public Class ActionManagerFactory

extends Object
Class Inheritance
Imports
java.util.ArrayList, .HashMap, .List, .Map, org.apache.pdfbox.cos.COSArray, .COSBase, .COSDictionary, .COSName, .COSObject, .COSObjectKey, org.apache.pdfbox.pdmodel.interactive.action.PDAction, .PDActionGoTo, .PDActionHide, .PDActionImportData, .PDActionJavaScript, .PDActionLaunch, .PDActionMovie, .PDActionNamed, .PDActionRemoteGoTo, .PDActionResetForm, .PDActionSound, .PDActionSubmitForm, .PDActionThread, .PDActionURI, org.apache.pdfbox.preflight.PreflightConstants, .PreflightContext, .ValidationResult.ValidationError, org.apache.pdfbox.preflight.exception.ValidationException

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
callCreateAction(COSBase
a COSBase object (COSObject or COSDictionary) which represent the action dictionary.
aDict
,
PreflightContext
the preflight context.
ctx
,
List<AbstractActionManager>
the list of ActionManager to updated if the aDict parameter is valid.
result
,
Map<COSObjectKey, Boolean>
This map is used to know if an Action has already been validated. It is useful to avoid infinite loop in an action which has a Next entry.
alreadyCreated
)

Call the callCreateAction(COSBase, COSDocument, List<actionmanager>, String) method with null as isAA parameter.

private void
callCreateAction(COSBase
a COSBase object (COSObject or COSDictionary) which represent the action dictionary.
aDict
,
PreflightContext
the preflight validation context.
ctx
,
List<AbstractActionManager>
the list of ActionManager to updated if the aDict parameter is valid.
result
,
String
the Action identifier if it is an additional action
additionActionKey
,
Map<COSObjectKey, Boolean>
This map is used to know if an Action has already been validated. It is useful to avoid infinite loop in an action which has a Next entry.
alreadyCreated
)

Call the create action to add the ActionManager to the result list.

protected AbstractActionManager

Returns:

the ActionManager instance.
createActionManager
(PreflightContext
the preflight context.
ctx
,
COSDictionary
the action dictionary used to instantiate the ActionManager
action
,
String
the Action identifier if it is an additional action
aaKey
)

Create an instance of ActionManager according to the value of the S entry.

public final List<AbstractActionManager>

Returns:

the list of actions from the given dictionary.
getActionManagers
(PreflightContext
the preflight context.
ctx
,
COSDictionary
the dictionary to retrieve the actions from.
dictionary
)

This method extract actions from the given dictionary.

public final List<AbstractActionManager>

Returns:

the list of actions from the given dictionary.
getNextActions
(PreflightContext
the preflight context.
ctx
,
COSDictionary
the dictionary to retrieve the actions from.
actionDictionary
)

Returns all actions contained by the Next entry.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ActionManagerFactoryback to summary
public ActionManagerFactory()

Method Detail

callCreateActionback to summary
private void callCreateAction(COSBase aDict, PreflightContext ctx, List<AbstractActionManager> result, Map<COSObjectKey, Boolean> alreadyCreated) throws ValidationException

Call the callCreateAction(COSBase, COSDocument, List, String) method with null as isAA parameter.

Parameters
aDict:COSBase

a COSBase object (COSObject or COSDictionary) which represent the action dictionary.

ctx:PreflightContext

the preflight context.

result:List<AbstractActionManager>

the list of ActionManager to updated if the aDict parameter is valid.

alreadyCreated:Map<COSObjectKey, Boolean>

This map is used to know if an Action has already been validated. It is useful to avoid infinite loop in an action which has a Next entry.

callCreateActionback to summary
private void callCreateAction(COSBase aDict, PreflightContext ctx, List<AbstractActionManager> result, String additionActionKey, Map<COSObjectKey, Boolean> alreadyCreated) throws ValidationException

Call the create action to add the ActionManager to the result list. If the aDict parameter isn't an instance of COSDictionary, this method throws a ValidationException. If the aDict parameter is a reference to a COSDictionary, the action manager is create only if the linked COSObjectKey is missing from the "alreadyCreated" map, in this case the action is added to the map. If the aDict parameter is an instance of COSDictionary, it is impossible to check if the ActionManager already exists in the "alreadyCreated" map.

Parameters
aDict:COSBase

a COSBase object (COSObject or COSDictionary) which represent the action dictionary.

ctx:PreflightContext

the preflight validation context.

result:List<AbstractActionManager>

the list of ActionManager to updated if the aDict parameter is valid.

additionActionKey:String

the Action identifier if it is an additional action

alreadyCreated:Map<COSObjectKey, Boolean>

This map is used to know if an Action has already been validated. It is useful to avoid infinite loop in an action which has a Next entry.

createActionManagerback to summary
protected AbstractActionManager createActionManager(PreflightContext ctx, COSDictionary action, String aaKey) throws ValidationException

Create an instance of ActionManager according to the value of the S entry. If the type entry isn't Action, a ValidationException will be thrown. If the action type isn't authorized in a PDF/A file, an instance of InvalidAction is returned.

Parameters
ctx:PreflightContext

the preflight context.

action:COSDictionary

the action dictionary used to instantiate the ActionManager

aaKey:String

the Action identifier if it is an additional action

Returns:AbstractActionManager

the ActionManager instance.

getActionManagersback to summary
public final List<AbstractActionManager> getActionManagers(PreflightContext ctx, COSDictionary dictionary) throws ValidationException

This method extract actions from the given dictionary. An action is identified by the following entries :

  • A (Action) : Available in Annotations, Outline items
  • OpenAction (OpenAction) : Available in the Catalog dictionary
  • AA (Additional Action) : Available in the Catalog dictionary, Annotations, Pages
If there are no action, an empty list is returned.
Parameters
ctx:PreflightContext

the preflight context.

dictionary:COSDictionary

the dictionary to retrieve the actions from.

Returns:List<AbstractActionManager>

the list of actions from the given dictionary.

getNextActionsback to summary
public final List<AbstractActionManager> getNextActions(PreflightContext ctx, COSDictionary actionDictionary) throws ValidationException

Returns all actions contained by the Next entry. If the action dictionary doesn't have Next action, the result is an empty list.

Parameters
ctx:PreflightContext

the preflight context.

actionDictionary:COSDictionary

the dictionary to retrieve the actions from.

Returns:List<AbstractActionManager>

the list of actions from the given dictionary.