Package com.sun.msv.grammar.util
Class NameClassComparator
- java.lang.Object
-
- com.sun.msv.grammar.util.NameClassComparator
-
- All Implemented Interfaces:
NameClassVisitor
- Direct Known Subclasses:
NameClassCollisionChecker
public abstract class NameClassComparator extends Object implements NameClassVisitor
Abstract implementation of a functionNameClass x NameClass -> boolean
Override the probe method to define the actual function.To compute, create an instance and call the check method. This class is not reentrant, so the caller is responsible not to reuse the same object by multiple threads.
- Author:
- Kohsuke KAWAGUCHI
-
-
Constructor Summary
Constructors Constructor Description NameClassComparator()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description boolean
check(NameClass _new, NameClass _old)
Returns true if two name classes collide.Object
onAnyName(AnyNameClass nc)
Object
onChoice(ChoiceNameClass nc)
Object
onDifference(DifferenceNameClass nc)
Object
onNot(NotNameClass nc)
Object
onNsName(NamespaceNameClass nc)
Object
onSimple(SimpleNameClass nc)
protected abstract void
probe(String uri, String local)
Throweureka
to return true from the probe method.
-
-
-
Field Detail
-
nc1
protected NameClass nc1
Two name classes to be tested.
-
nc2
protected NameClass nc2
Two name classes to be tested.
-
eureka
protected final RuntimeException eureka
This exception will be thrown when a collision is found.
-
-
Method Detail
-
check
public boolean check(NameClass _new, NameClass _old)
Returns true if two name classes collide.
-
probe
protected abstract void probe(String uri, String local)
Throweureka
to return true from the probe method.
-
onAnyName
public Object onAnyName(AnyNameClass nc)
- Specified by:
onAnyName
in interfaceNameClassVisitor
-
onNsName
public Object onNsName(NamespaceNameClass nc)
- Specified by:
onNsName
in interfaceNameClassVisitor
-
onSimple
public Object onSimple(SimpleNameClass nc)
- Specified by:
onSimple
in interfaceNameClassVisitor
-
onNot
public Object onNot(NotNameClass nc)
- Specified by:
onNot
in interfaceNameClassVisitor
-
onDifference
public Object onDifference(DifferenceNameClass nc)
- Specified by:
onDifference
in interfaceNameClassVisitor
-
onChoice
public Object onChoice(ChoiceNameClass nc)
- Specified by:
onChoice
in interfaceNameClassVisitor
-
-