/* * Copyright 2006-2017 ICEsoft Technologies Canada Corp. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the * License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an "AS * IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either * express or implied. See the License for the specific language * governing permissions and limitations under the License. */ package org.icepdf.core.pobjects.actions; import org.icepdf.core.pobjects.Name; import org.icepdf.core.util.Library; import java.util.HashMap; /** * Execute interface for Form actions. * * @since 5.1 */ public abstract class FormAction extends Action { /** * (Required) A URL file specification (see 7.11.5, "URL Specifications") giving the uniform resource locator * (URL) of the script at the Web server that will process the submission. */ public static final Name F_KEY = new Name("F"); /** * An array identifying which fields to reset or which to exclude from * resetting, depending on the setting of the Include/Exclude flag in the * Flags entry (see Table 239). Each element of the array shall be either * an indirect reference to a field dictionary or (PDF 1.3) a text string * representing the fully qualified name of a field. Elements of both kinds * may be mixed in the same array. * <br> * If this entry is omitted, the Include/Exclude flag shall be ignored, and all * fields in the document’s interactive form shall be submitted except those whose * NoExport flag (see Table 221) is set. Fields with no values may also be excluded, * as dictated by the value of the IncludeNoValueFields flag; see Table 237. */ public static final Name FIELDS_KEY = new Name("Fields"); /** * (Optional; inheritable) A set of flags specifying various characteristics * of the action (see Table 239). Default value: 0. */ public static final Name FLAGS_KEY = new Name("Flags"); public FormAction(Library l, HashMap h) { super(l, h); } /** * (Optional; inheritable) A set of flags specifying various characteristics of the action (see Table 239). * Default value: 0. * * @return flag value */ public int getFlags() { // behaviour flags return library.getInt(entries, FLAGS_KEY); } /** * Execute the form action and return the appropriate return code; * * @return determined by the implementation. */ public abstract int executeFormAction(int x, int y); }