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   */
29  public class SinkActionContext
30  {
31      /** Constant <code>TITLE=0</code> */
32      public static final int TITLE = 0;
33      /** Constant <code>AUTHOR=1</code> */
34      public static final int AUTHOR = 1;
35      /** Constant <code>DATE=2</code> */
36      public static final int DATE = 2;
37      /** Constant <code>HEAD=3</code> */
38      public static final int HEAD = 3;
39      /** Constant <code>BODY=4</code> */
40      public static final int BODY = 4;
41  
42      /** Constant <code>SECTION_TITLE=10</code> */
43      public static final int SECTION_TITLE = 10;
44      /** Constant <code>SECTION_TITLE_1=11</code> */
45      public static final int SECTION_TITLE_1 = 11;
46      /** Constant <code>SECTION_TITLE_2=12</code> */
47      public static final int SECTION_TITLE_2 = 12;
48      /** Constant <code>SECTION_TITLE_3=13</code> */
49      public static final int SECTION_TITLE_3 = 13;
50      /** Constant <code>SECTION_TITLE_4=14</code> */
51      public static final int SECTION_TITLE_4 = 14;
52      /** Constant <code>SECTION_TITLE_5=15</code> */
53      public static final int SECTION_TITLE_5 = 15;
54  
55      /** Constant <code>SECTION_1=20</code> */
56      public static final int SECTION_1 = 20;
57      /** Constant <code>SECTION_2=21</code> */
58      public static final int SECTION_2 = 21;
59      /** Constant <code>SECTION_3=22</code> */
60      public static final int SECTION_3 = 22;
61      /** Constant <code>SECTION_4=23</code> */
62      public static final int SECTION_4 = 23;
63      /** Constant <code>SECTION_5=24</code> */
64      public static final int SECTION_5 = 24;
65  
66      /** Constant <code>DEFINITION_LIST=30</code> */
67      public static final int DEFINITION_LIST = 30;
68      /** Constant <code>DEFINITION_LIST_ITEM=31</code> */
69      public static final int DEFINITION_LIST_ITEM = 31;
70      /** Constant <code>DEFINED_TERM=32</code> */
71      public static final int DEFINED_TERM = 32;
72  
73      /** Constant <code>LIST_ITEM=40</code> */
74      public static final int LIST_ITEM = 40;
75      /** Constant <code>NUMBERED_LIST_ITEM=41</code> */
76      public static final int NUMBERED_LIST_ITEM = 41;
77      /** Constant <code>NUMBERED_LIST=42</code> */
78      public static final int NUMBERED_LIST = 42;
79      /** Constant <code>DEFINITION=43</code> */
80      public static final int DEFINITION = 43;
81      /** Constant <code>PARAGRAPH=44</code> */
82      public static final int PARAGRAPH = 44;
83      /** Constant <code>LIST=45</code> */
84      public static final int LIST = 45;
85  
86      /** Constant <code>TABLE=50</code> */
87      public static final int TABLE = 50;
88      /** Constant <code>TABLE_CAPTION=51</code> */
89      public static final int TABLE_CAPTION = 51;
90      /** Constant <code>TABLE_CELL=52</code> */
91      public static final int TABLE_CELL = 52;
92      /** Constant <code>TABLE_HEADER_CELL=53</code> */
93      public static final int TABLE_HEADER_CELL = 53;
94      /** Constant <code>TABLE_ROW=54</code> */
95      public static final int TABLE_ROW = 54;
96      /** Constant <code>TABLE_ROWS=55</code> */
97      public static final int TABLE_ROWS = 55;
98  
99      /** Constant <code>VERBATIM=60</code> */
100     public static final int VERBATIM = 60;
101 
102     /** Constant <code>FIGURE=70</code> */
103     public static final int FIGURE = 70;
104     /** Constant <code>FIGURE_CAPTION=71</code> */
105     public static final int FIGURE_CAPTION = 71;
106     /** Constant <code>FIGURE_GRAPHICS=72</code> */
107     public static final int FIGURE_GRAPHICS = 72;
108 
109     /** Constant <code>LINK=80</code> */
110     public static final int LINK = 80;
111     /** Constant <code>ANCHOR=81</code> */
112     public static final int ANCHOR = 81;
113     /** Constant <code>UNDEFINED=82</code> */
114     public static final int UNDEFINED = 82;
115 
116     private Stack<Integer> stack = new Stack<>();
117 
118     /**
119      * <p>Getter for the field <code>currentAction</code>.</p>
120      *
121      * @return a int.
122      */
123     public int getCurrentAction()
124     {
125         //return currentAction;
126         if ( stack.empty() )
127         {
128             return UNDEFINED;
129         }
130         else
131         {
132             return stack.peek();
133         }
134     }
135 
136     /**
137      * release.
138      */
139     public void release()
140     {
141         //currentAction = -1;
142         stack.pop();
143     }
144 
145     /**
146      * setAction.
147      *
148      * @param action a int.
149      */
150     public void setAction( int action )
151     {
152         //currentAction = action;
153 
154         stack.push( action );
155     }
156 }