1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one or more 3 * contributor license agreements. See the NOTICE file distributed with 4 * this work for additional information regarding copyright ownership. 5 * The ASF licenses this file to You under the Apache License, Version 2.0 6 * (the "License"); you may not use this file except in compliance with 7 * the License. You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 */ 17 package org.apache.pdfbox.pdmodel.interactive.action.type; 18 19 import org.apache.pdfbox.cos.COSDictionary; 20 import org.apache.pdfbox.pdmodel.common.PDTextStream; 21 22 /** 23 * This represents a JavaScript action. 24 * 25 * @author Michael Schwarzenberger (mi2kee@gmail.com) 26 * @version $Revision: 1.1 $ 27 */ 28 public class PDActionJavaScript extends PDAction 29 { 30 /** 31 * This type of action this object represents. 32 */ 33 public static final String SUB_TYPE = "JavaScript"; 34 35 /** 36 * Constructor #1. 37 */ 38 public PDActionJavaScript() 39 { 40 super(); 41 setSubType( SUB_TYPE ); 42 } 43 44 /** 45 * Constructor. 46 * 47 * @param js Some javascript code. 48 */ 49 public PDActionJavaScript( String js ) 50 { 51 this(); 52 setAction( js ); 53 } 54 55 /** 56 * Constructor #2. 57 * 58 * @param a The action dictionary. 59 */ 60 public PDActionJavaScript(COSDictionary a) 61 { 62 super(a); 63 } 64 65 /** 66 * @param sAction The JavaScript. 67 */ 68 public void setAction(PDTextStream sAction) 69 { 70 action.setItem("JS", sAction); 71 } 72 73 /** 74 * @param sAction The JavaScript. 75 */ 76 public void setAction(String sAction) 77 { 78 action.setString("JS", sAction); 79 } 80 81 /** 82 * @return The Javascript Code. 83 */ 84 public PDTextStream getAction() 85 { 86 return PDTextStream.createTextStream( action.getDictionaryObject("JS") ); 87 } 88 }