01: package org.kohsuke.rngom.ast.builder;
02:
03: import org.kohsuke.rngom.ast.om.Location;
04: import org.kohsuke.rngom.ast.om.ParsedElementAnnotation;
05:
06: /**
07: * Includes attributes and child elements before any RELAX NG element.
08: */
09: public interface Annotations<E extends ParsedElementAnnotation, L extends Location, CL extends CommentList<L>> {
10:
11: /**
12: * Called for an attribute annotation.
13: */
14: void addAttribute(String ns, String localName, String prefix,
15: String value, L loc) throws BuildException;
16:
17: /**
18: * Called for a child element annotation.
19: */
20: void addElement(E ea) throws BuildException;
21:
22: /**
23: * Adds comments following the last initial child element annotation.
24: */
25: void addComment(CL comments) throws BuildException;
26:
27: void addLeadingComment(CL comments) throws BuildException;
28: }
|