KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > pdfbox > pdmodel > interactive > action > type > PDActionURI


1 /**
2  * Copyright (c) 2004, www.pdfbox.org
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. Neither the name of pdfbox; nor the names of its
14  * contributors may be used to endorse or promote products derived from this
15  * software without specific prior written permission.
16  *
17  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
18  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
24  * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  *
28  * http://www.pdfbox.org
29  *
30  */

31 package org.pdfbox.pdmodel.interactive.action.type;
32
33 import org.pdfbox.cos.COSBase;
34 import org.pdfbox.cos.COSDictionary;
35
36 /**
37  * This represents a URI action that can be executed in a PDF document.
38  *
39  * @author <a HREF="mailto:ben@benlitchfield.com">Ben Litchfield</a>
40  * @author Panagiotis Toumasis (ptoumasis@mail.gr)
41  * @version $Revision: 1.3 $
42  */

43 public class PDActionURI extends PDAction
44 {
45     /**
46      * This type of action this object represents.
47      */

48     public static final String JavaDoc SUB_TYPE = "URI";
49
50     /**
51      * Default constructor.
52      */

53     public PDActionURI()
54     {
55         action = new COSDictionary();
56         setSubType( SUB_TYPE );
57     }
58
59     /**
60      * Constructor.
61      *
62      * @param a The action dictionary.
63      */

64     public PDActionURI( COSDictionary a )
65     {
66         super( a );
67     }
68
69     /**
70      * Convert this standard java object to a COS object.
71      *
72      * @return The cos object that matches this Java object.
73      */

74     public COSBase getCOSObject()
75     {
76         return action;
77     }
78
79     /**
80      * Convert this standard java object to a COS object.
81      *
82      * @return The cos object that matches this Java object.
83      */

84     public COSDictionary getCOSDictionary()
85     {
86         return action;
87     }
88
89     /**
90      * This will get the type of action that the actions dictionary describes.
91      * It must be URI for a URI action.
92      *
93      * @return The S entry of the specific URI action dictionary.
94      */

95     public String JavaDoc getS()
96     {
97        return action.getNameAsString( "S" );
98     }
99
100     /**
101      * This will set the type of action that the actions dictionary describes.
102      * It must be URI for a URI action.
103      *
104      * @param s The URI action.
105      */

106     public void setS( String JavaDoc s )
107     {
108        action.setName( "S", s );
109     }
110
111     /**
112      * This will get the uniform resource identifier to resolve, encoded in 7-bit ASCII.
113      *
114      * @return The URI entry of the specific URI action dictionary.
115      */

116     public String JavaDoc getURI()
117     {
118         return action.getString( "URI" );
119     }
120
121     /**
122      * This will set the uniform resource identifier to resolve, encoded in 7-bit ASCII.
123      *
124      * @param uri The uniform resource identifier.
125      */

126     public void setURI( String JavaDoc uri )
127     {
128         action.setString( "URI", uri );
129     }
130
131     /**
132      * This will specify whether to track the mouse position when the URI is resolved.
133      * Default value: false.
134      * This entry applies only to actions triggered by the user's clicking an annotation;
135      * it is ignored for actions associated with outline items or with a document's OpenAction entry.
136      *
137      * @return A flag specifying whether to track the mouse position when the URI is resolved.
138      */

139     public boolean shouldTrackMousePosition()
140     {
141         return action.getBoolean( "MousePosition", true );
142     }
143
144     /**
145      * This will specify whether to track the mouse position when the URI is resolved.
146      *
147      * @param value The flag value.
148      */

149     public void setTrackMousePosition( boolean value )
150     {
151         action.setBoolean( "MousePosition", value );
152     }
153
154     /**
155      * This will get the base URI to be used in resolving relative URI references.
156      * URI actions within the document may specify URIs in partial form, to be interpreted
157      * relative to this base address. If no base URI is specified, such partial URIs
158      * will be interpreted relative to the location of the document itself.
159      * The use of this entry is parallel to that of the body element &lt;BASE&gt;, as described
160      * in the HTML 4.01 Specification.
161      *
162      * @return The URI entry of the specific URI dictionary.
163      */

164     public String JavaDoc getBase()
165     {
166         return action.getString( "Base" );
167     }
168
169     /**
170      * This will set the base URI to be used in resolving relative URI references.
171      * URI actions within the document may specify URIs in partial form, to be interpreted
172      * relative to this base address. If no base URI is specified, such partial URIs
173      * will be interpreted relative to the location of the document itself.
174      * The use of this entry is parallel to that of the body element &lt;BASE&gt;, as described
175      * in the HTML 4.01 Specification.
176      *
177      * @param base The the base URI to be used.
178      */

179     public void setBase( String JavaDoc base )
180     {
181         action.setString( "Base", base );
182     }
183 }
Popular Tags