View Javadoc

1   package org.apache.maven.doxia.module.itext;
2   
3   /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements.  See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership.  The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10   * with the License.  You may obtain a copy of the License at
11   *
12   *   http://www.apache.org/licenses/LICENSE-2.0
13   *
14   * Unless required by applicable law or agreed to in writing,
15   * software distributed under the License is distributed on an
16   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17   * KIND, either express or implied.  See the License for the
18   * specific language governing permissions and limitations
19   * under the License.
20   */
21  
22  import java.util.Stack;
23  
24  /**
25   * <p>SinkActionContext class.</p>
26   *
27   * @author Jason van Zyl
28   * @version $Id: SinkActionContext.java 1091053 2011-04-11 12:55:07Z ltheussl $
29   */
30  public class SinkActionContext
31  {
32      /** Constant <code>TITLE=0</code> */
33      public static final int TITLE = 0;
34      /** Constant <code>AUTHOR=1</code> */
35      public static final int AUTHOR = 1;
36      /** Constant <code>DATE=2</code> */
37      public static final int DATE = 2;
38      /** Constant <code>HEAD=3</code> */
39      public static final int HEAD = 3;
40      /** Constant <code>BODY=4</code> */
41      public static final int BODY = 4;
42  
43      /** Constant <code>SECTION_TITLE=10</code> */
44      public static final int SECTION_TITLE = 10;
45      /** Constant <code>SECTION_TITLE_1=11</code> */
46      public static final int SECTION_TITLE_1 = 11;
47      /** Constant <code>SECTION_TITLE_2=12</code> */
48      public static final int SECTION_TITLE_2 = 12;
49      /** Constant <code>SECTION_TITLE_3=13</code> */
50      public static final int SECTION_TITLE_3 = 13;
51      /** Constant <code>SECTION_TITLE_4=14</code> */
52      public static final int SECTION_TITLE_4 = 14;
53      /** Constant <code>SECTION_TITLE_5=15</code> */
54      public static final int SECTION_TITLE_5 = 15;
55  
56      /** Constant <code>SECTION_1=20</code> */
57      public static final int SECTION_1 = 20;
58      /** Constant <code>SECTION_2=21</code> */
59      public static final int SECTION_2 = 21;
60      /** Constant <code>SECTION_3=22</code> */
61      public static final int SECTION_3 = 22;
62      /** Constant <code>SECTION_4=23</code> */
63      public static final int SECTION_4 = 23;
64      /** Constant <code>SECTION_5=24</code> */
65      public static final int SECTION_5 = 24;
66  
67      /** Constant <code>DEFINITION_LIST=30</code> */
68      public static final int DEFINITION_LIST = 30;
69      /** Constant <code>DEFINITION_LIST_ITEM=31</code> */
70      public static final int DEFINITION_LIST_ITEM = 31;
71      /** Constant <code>DEFINED_TERM=32</code> */
72      public static final int DEFINED_TERM = 32;
73  
74      /** Constant <code>LIST_ITEM=40</code> */
75      public static final int LIST_ITEM = 40;
76      /** Constant <code>NUMBERED_LIST_ITEM=41</code> */
77      public static final int NUMBERED_LIST_ITEM = 41;
78      /** Constant <code>NUMBERED_LIST=42</code> */
79      public static final int NUMBERED_LIST = 42;
80      /** Constant <code>DEFINITION=43</code> */
81      public static final int DEFINITION = 43;
82      /** Constant <code>PARAGRAPH=44</code> */
83      public static final int PARAGRAPH = 44;
84      /** Constant <code>LIST=45</code> */
85      public static final int LIST = 45;
86  
87      /** Constant <code>TABLE=50</code> */
88      public static final int TABLE = 50;
89      /** Constant <code>TABLE_CAPTION=51</code> */
90      public static final int TABLE_CAPTION = 51;
91      /** Constant <code>TABLE_CELL=52</code> */
92      public static final int TABLE_CELL = 52;
93      /** Constant <code>TABLE_HEADER_CELL=53</code> */
94      public static final int TABLE_HEADER_CELL = 53;
95      /** Constant <code>TABLE_ROW=54</code> */
96      public static final int TABLE_ROW = 54;
97      /** Constant <code>TABLE_ROWS=55</code> */
98      public static final int TABLE_ROWS = 55;
99  
100     /** Constant <code>VERBATIM=60</code> */
101     public static final int VERBATIM = 60;
102 
103     /** Constant <code>FIGURE=70</code> */
104     public static final int FIGURE = 70;
105     /** Constant <code>FIGURE_CAPTION=71</code> */
106     public static final int FIGURE_CAPTION = 71;
107     /** Constant <code>FIGURE_GRAPHICS=72</code> */
108     public static final int FIGURE_GRAPHICS = 72;
109 
110     /** Constant <code>LINK=80</code> */
111     public static final int LINK = 80;
112     /** Constant <code>ANCHOR=81</code> */
113     public static final int ANCHOR = 81;
114     /** Constant <code>UNDEFINED=82</code> */
115     public static final int UNDEFINED = 82;
116 
117     private Stack<Integer> stack = new Stack<Integer>();
118 
119     private int currentAction;
120 
121     /**
122      * <p>Getter for the field <code>currentAction</code>.</p>
123      *
124      * @return a int.
125      */
126     public int getCurrentAction()
127     {
128         //return currentAction;
129         if ( stack.empty() )
130         {
131             return UNDEFINED;
132         }
133         else
134         {
135             return stack.peek().intValue();
136         }
137     }
138 
139     /**
140      * release.
141      */
142     public void release()
143     {
144         //currentAction = -1;
145         stack.pop();
146     }
147 
148     /**
149      * setAction.
150      *
151      * @param action a int.
152      */
153     public void setAction( int action )
154     {
155         //currentAction = action;
156 
157         stack.push( new Integer( action ) );
158     }
159 }