1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.jelly.tags.define;
18
19 import org.apache.commons.jelly.JellyTagException;
20 import org.apache.commons.jelly.TagSupport;
21 import org.apache.commons.jelly.impl.DynamicTagLibrary;
22
23 /***
24 * An abstract base class useful for implementation inheritence.
25 *
26 * @author <a href="mailto:jstrachan@apache.org">James Strachan</a>
27 * @version $Revision: 155420 $
28 */
29 public abstract class DefineTagSupport extends TagSupport {
30
31
32
33
34 /***
35 * @return the current dynamic tag library instance or throws a JellyException
36 * if one is not available
37 */
38 protected DynamicTagLibrary getTagLibrary() throws JellyTagException {
39 TaglibTag tag
40 = (TaglibTag) findAncestorWithClass(TaglibTag.class);
41 if ( tag == null ) {
42 throw new JellyTagException( "<define:tag> must be inside <define:taglib>" );
43 }
44 return tag.getTagLibrary();
45 }
46
47 }