Class Edge
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic classstatic classSpecial singular Term identifying a transition to be used when the maxOccurs value of a counting state is reached.
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final Edge.MaxOccursParticleSpecial singular Term identifying a transition to be used when the maxOccurs value of a counting state is reached.
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionGet the element or wildcard particle causing this transitionGet the (fixed) state that is the target of this edgegetTerm()Get the element or wildcard particle causing this transitioniterator()makeTransition(State previousState) Get the dynamic state that results from a transition using this edge, updating any counters that need to be updatedmatches(Edge de, SchemaCompiler compiler) Test whether edges in two different finite state machines match each other.voidserialize(SchemaModelSerializer serializer) Serialize this Edge as part of the serialization of a schema component modelvoidsetParticle(Particle particle) Set the element or wildcard particle causing this transitionvoidsetTargetState(AutomatonState targetState) Set the state resulting from this transitionvoidSet the element or wildcard particle causing this transitionMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.IterableforEach, spliterator
- 
Field Details- 
MAX_OCCURS_PARTICLESpecial singular Term identifying a transition to be used when the maxOccurs value of a counting state is reached. This enables content models like a(2,2)a to be treated as non-ambiguous. See test case modelGroups mg005.
 
- 
- 
Constructor Details- 
Edgepublic Edge()
 
- 
- 
Method Details- 
setTargetStateSet the state resulting from this transition- Parameters:
- targetState- the state at the end of this edge
 
- 
getTargetStateGet the (fixed) state that is the target of this edge- Returns:
- the state at the end of this edge
 
- 
makeTransitionGet the dynamic state that results from a transition using this edge, updating any counters that need to be updated- Parameters:
- previousState- the previous dynamic state before making this transition
- Returns:
- the dynamic state that results from applying this transition
- Throws:
- ValidationException- if this transition is not possible because the occurrence limits are violated
 
- 
setTermSet the element or wildcard particle causing this transition- Parameters:
- term- the term that causes this transition
 
- 
getTermGet the element or wildcard particle causing this transition- Returns:
- the term that causes this transition
 
- 
setParticleSet the element or wildcard particle causing this transition- Parameters:
- particle- the particle that causes this transition
 
- 
getParticleGet the element or wildcard particle causing this transition- Returns:
- the particle that causes this transition if known, otherwise null
 
- 
matchesTest whether edges in two different finite state machines match each other. This is called while establishing whether one type subsumes another.From Thompson & Tobin 2003: an edge BE matches another edge DE iff one of the following three conditions holds: (1) they are labelled as element declarations with the same expanded name; (2) BE is labelled with a wildcard and DE is labelled with an element declaration in a namespace allowed by the wildcard; (3) BE and DE are both wildcards and DE's label is an intensional subset of BE's. In case (3) we add the rule, not in Thompson and Tobin, that the processContents of DE must be at least as strong as the processContents of BE. It is also necessary that the types of B and D are compatible, and that their nillability is compatible, and that their value constraints are compatible, and that the disallowed substitutions of D is a superset of those of B. - Parameters:
- de- the edge in a finite state machine representing a derived type, and which corresponds to this edge in the finite state machine for the base type
- compiler- user for error reporting
- Returns:
- null if the edges match, or a string explaining the reason for the non-match if not.
- Throws:
- MissingComponentException
 
- 
iterator
- 
serializeSerialize this Edge as part of the serialization of a schema component model- Parameters:
- serializer- object that formats the model output
- Throws:
- XPathException- if a serialization error occur
 
 
-