Skip to content

Package: GroupElement

GroupElement

Coverage

1: package de.fhdw.wtf.common.ast;
2:
3: import de.fhdw.wtf.common.ast.visitor.GroupElementExceptionVisitor;
4: import de.fhdw.wtf.common.ast.visitor.GroupElementReturnVisitor;
5: import de.fhdw.wtf.common.ast.visitor.GroupElementVisitor;
6:
7: /**
8: * This class represents an element contained by a {@link Group}. It has to be either a {@link Group} by itself or a
9: * <ClassType>.
10: */
11: public interface GroupElement extends SyntaxObjectInterface {
12:         
13:         /**
14:          * Returns the {@link Name} of this element.
15:          *
16:          * @return : Name.
17:          */
18:         Name getName();
19:         
20:         /**
21:          * Accepts the sub types of {@link GroupElement} and implements the required functions.
22:          *
23:          * @param visitor
24:          * is visitor that describes what has to be done for the particular {@link GroupElement}.
25:          */
26:         void accept(GroupElementVisitor visitor);
27:         
28:         /**
29:          * Visitor for subtypes of common.ast.GroupElement. Throws any Exception.
30:          *
31:          * @param visitor
32:          * : Visitor.
33:          * @param <X>
34:          * ReturnType
35:          * @throws X
36:          * : Exception.
37:          */
38:         <X extends Exception> void accept(GroupElementExceptionVisitor<X> visitor) throws X;
39:         
40:         /**
41:          * Accepts a return visitor.
42:          *
43:          * @param visitor
44:          * Visitor
45:          * @param <X>
46:          * ReturnType
47:          * @return X
48:          */
49:         <X> X accept(GroupElementReturnVisitor<X> visitor);
50:         
51: }