com.novell.nds.dirxml.driver.xds
Class EnumConstraint

java.lang.Object
  extended bycom.novell.nds.dirxml.driver.xds.Constraint
      extended bycom.novell.nds.dirxml.driver.xds.EnumConstraint

public final class EnumConstraint
extends Constraint

An constraint that lists the possible set of java.lang.String values for a Parameter. By default, members are compared case-insensitive. Values are passed to comparators as java.lang.Strings.

e.g. ['true', 't', 'yes', 'y', '1']


Field Summary
static Comparator CASE_INSENSITIVE
          Case insensitive comparator.
static Comparator CASE_SENSITIVE
          Case sensitive comparator.
 
Constructor Summary
EnumConstraint()
          Creates a new enumerative constraint instance.
EnumConstraint(Comparator someComparator)
          Creates a new enumerative constraint instance.
 
Method Summary
 void addLiteral(String value)
          Adds a single member to this constraint.
 void addLiterals(String[] someValues)
          Adds multiple members to this constraint.
 boolean canBeAppliedToMultipleParams()
          Can this constraint be applied to multiple Parameters?
 boolean equals(Object o)
          Is the passed constraint equal to this constraint?
 boolean forScalar()
          Can this constrait be applied to a scalar Parameter?
 boolean forStructured()
          Can this constraint be applied to a structured Parameter?
 int hashCode()
          Returns this constraint's hashcode.
 void setComparator(Comparator someComparator)
          Allows customization of how members of this constraint are compared.
 void setNOT()
          Negates this constraint.
 
Methods inherited from class com.novell.nds.dirxml.driver.xds.Constraint
getNOT, getOperator, getType, getTypes, toString
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

CASE_SENSITIVE

public static final Comparator CASE_SENSITIVE
Case sensitive comparator.


CASE_INSENSITIVE

public static final Comparator CASE_INSENSITIVE
Case insensitive comparator.

Constructor Detail

EnumConstraint

public EnumConstraint()
Creates a new enumerative constraint instance.


EnumConstraint

public EnumConstraint(Comparator someComparator)
Creates a new enumerative constraint instance.

Parameters:
someComparator - must not be null
Method Detail

setNOT

public void setNOT()
Negates this constraint.


setComparator

public void setComparator(Comparator someComparator)
Allows customization of how members of this constraint are compared. By default, CASE_INSENSITIVE is used.

Parameters:
someComparator - must not be null

addLiteral

public void addLiteral(String value)
Adds a single member to this constraint.

Parameters:
value - null or empty string are ignored

addLiterals

public void addLiterals(String[] someValues)
Adds multiple members to this constraint.

Parameters:
someValues - must not be null

hashCode

public int hashCode()
Returns this constraint's hashcode.

Returns:
the hashcode

equals

public boolean equals(Object o)
Is the passed constraint equal to this constraint?

Parameters:
o - may be null
Returns:
true if they're equal; false if they're not

forStructured

public boolean forStructured()
Description copied from class: Constraint
Can this constraint be applied to a structured Parameter?

A structured Parameter consists of multiple primitives or other structured Parameters.

Specified by:
forStructured in class Constraint
Returns:
true if it can; false if it can't

forScalar

public boolean forScalar()
Description copied from class: Constraint
Can this constrait be applied to a scalar Parameter?

A scalar Parmeter is a primitive (e.g., long, int, boolean) that has a single value.

Specified by:
forScalar in class Constraint
Returns:
true if it can; false if it can't

canBeAppliedToMultipleParams

public boolean canBeAppliedToMultipleParams()
Description copied from class: Constraint
Can this constraint be applied to multiple Parameters?

Specified by:
canBeAppliedToMultipleParams in class Constraint
Returns:
true if it can; false if it can't