1
2
3
4
5 package xjavadoc;
6
7 import java.util.Collection;
8 import xjavadoc.event.XTagListener;
9
10 /***
11 * @author Aslak Hellesøy
12 * @created 11. januar 2002
13 */
14 public interface XTag
15 {
16 /***
17 * Returns the value of the tag parameter with the given name, or null if none
18 * exist;
19 *
20 * @param attributeName Describe what the parameter does
21 * @return The Parameter value
22 */
23 String getAttributeValue( String attributeName );
24
25 /***
26 * Returns all tag attribute names, in the order they occur in the source.
27 *
28 * @return The Parameters value
29 */
30 Collection getAttributeNames();
31
32 /***
33 * Returns the full name of the tag, excluding the @
34 *
35 * @return Describe the return value
36 */
37 String getName();
38
39 /***
40 * Returns the full value of the tag.
41 *
42 * @return Describe the return value
43 */
44 String getValue();
45
46 /***
47 * Returns the XDoc object we belong to.
48 *
49 * @return the XDoc object we belong to.
50 */
51 public XDoc getDoc();
52
53 public int getLineNumber();
54
55 public String getInfo();
56
57 /***
58 * Adds a parameter
59 *
60 * @param attributeName name of the attribute
61 * @param attributeValue value of the attribute
62 */
63 void setAttribute( String attributeName, String attributeValue );
64
65 String removeAttribute( String attributeName );
66
67 public void addTagListener( XTagListener tagListener );
68
69 public void removeTagListener( XTagListener tagListener );
70
71 boolean equals( Object o );
72
73 int hashCode();
74
75 /***
76 * Validates the tag.
77 *
78 * @exception TagValidationException if the content of the tag is somehow
79 * invalid
80 */
81 public void validate() throws TagValidationException;
82 }
83