Interface MatchingRule<T>
-
public interface MatchingRule<T>Interface for generic matching rules. The responsibility of a matching rule is to decide if two objects of the same type match. This may seem a simple thing to do but the details may get quite complex. E.g. comparing string in case sensitive or insensitive manner, comparing PolyStrings, etc.- Author:
- Radovan Semancik
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description QNamegetName()QName that identifies the rule.booleanmatch(T a, T b)Matches two objects.booleanmatchRegex(T a, String regex)Matches value against given regex.Tnormalize(T original)Returns a normalized version of the value.booleansupports(QName xsdType)Returns true if the rule can be applied to the specified XSD type.
-
-
-
Method Detail
-
getName
QName getName()
QName that identifies the rule. This QName may be used to refer to this specific matching rule, it is an matching rule identifier.
-
supports
boolean supports(QName xsdType)
Returns true if the rule can be applied to the specified XSD type.
-
match
boolean match(T a, T b) throws SchemaException
Matches two objects.- Throws:
SchemaException
-
matchRegex
boolean matchRegex(T a, String regex) throws SchemaException
Matches value against given regex.- Throws:
SchemaException
-
normalize
T normalize(T original) throws SchemaException
Returns a normalized version of the value. For normalized version the following holds: if A matches B then normalize(A) == normalize(B)- Throws:
SchemaException
-
-