Package net.sf.saxon.query
Class AnnotationList
- java.lang.Object
-
- net.sf.saxon.query.AnnotationList
-
- All Implemented Interfaces:
java.lang.Iterable<Annotation>
public class AnnotationList extends java.lang.Object implements java.lang.Iterable<Annotation>
An immutable list of function or variable annotations, or of annotation assertions
-
-
Field Summary
Fields Modifier and Type Field Description static AnnotationListEMPTYAn empty annotation list
-
Constructor Summary
Constructors Constructor Description AnnotationList(java.util.List<Annotation> list)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheck(Configuration config, java.lang.String where)Check an annotation list for internal consistency (e.g.booleanequals(java.lang.Object other)AnnotationListfilterByNamespace(java.lang.String ns)Filter the annotation list by the namespace URI part of the annotation nameAnnotationget(int i)Get the i'th annotation in the list (counting from zero)inthashCode()booleanincludes(java.lang.String localName)Ask whether a list of annotations contains an annotation with a given local namebooleanincludes(StructuredQName name)Ask whether a list of annotations contains an annotation with a given namebooleanisEmpty()Ask whether the list of annotations is emptyjava.util.Iterator<Annotation>iterator()Returns an iterator over a set of elements of type T.static AnnotationListsingleton(Annotation ann)Construct an annotation list containing a single annotationintsize()The number of annotations in the list
-
-
-
Field Detail
-
EMPTY
public static AnnotationList EMPTY
An empty annotation list
-
-
Constructor Detail
-
AnnotationList
public AnnotationList(java.util.List<Annotation> list)
-
-
Method Detail
-
singleton
public static AnnotationList singleton(Annotation ann)
Construct an annotation list containing a single annotation- Parameters:
ann- the single annotation in the annotation list- Returns:
- a singleton annotation list
-
check
public void check(Configuration config, java.lang.String where) throws XPathException
Check an annotation list for internal consistency (e.g. rules that %public and %private cannot coexist)- Parameters:
where- the context where the list appears: one of "DF" (declare function), "DV" (declare variable), "IF" (inline function declaration), "FT" (function test)- Throws:
XPathException- if the annotation list is not internally consistent
-
filterByNamespace
public AnnotationList filterByNamespace(java.lang.String ns)
Filter the annotation list by the namespace URI part of the annotation name- Parameters:
ns- the namespace URI required- Returns:
- an annotation list containing the subset of this annotation list where the annotation names have the required namespace
-
iterator
public java.util.Iterator<Annotation> iterator()
Returns an iterator over a set of elements of type T.- Specified by:
iteratorin interfacejava.lang.Iterable<Annotation>- Returns:
- an Iterator.
-
isEmpty
public boolean isEmpty()
Ask whether the list of annotations is empty- Returns:
- true if the list of annotations is empty
-
size
public int size()
The number of annotations in the list- Returns:
- the number of annotations in the list of annotations
-
get
public Annotation get(int i)
Get the i'th annotation in the list (counting from zero)- Parameters:
i- the index of the required annotation (counting from zero)- Returns:
- the annotation at the specified position
-
includes
public boolean includes(StructuredQName name)
Ask whether a list of annotations contains an annotation with a given name- Parameters:
name- the given name- Returns:
- true if one or more annotations with the given name are present in the list
-
includes
public boolean includes(java.lang.String localName)
Ask whether a list of annotations contains an annotation with a given local name- Parameters:
localName- the given local name- Returns:
- true if one or more annotations with the given name are present in the list
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-