com.sun.tools.xjc.model

Class Multiplicity

public final class Multiplicity extends Object

represents a possible number of occurence. Usually, denoted by a pair of integers like (1,1) or (5,10). A special value "unbounded" is allowed as the upper bound.

For example, (0,unbounded) corresponds to the '*' occurence of DTD. (0,1) corresponds to the '?' occurence of DTD.

Field Summary
BigIntegermax
BigIntegermin
static MultiplicityONE
the constant representing the (1,1) multiplicity.
static MultiplicityOPTIONAL
the constant representing the (0,1) multiplicity.
static MultiplicityPLUS
the constant representing the (1,unbounded) multiplicity.
static MultiplicitySTAR
the constant representing the (0,unbounded) multiplicity.
static MultiplicityZERO
the constant representing the (0,0) multiplicity.
Method Summary
static Multiplicitychoice(Multiplicity lhs, Multiplicity rhs)
static Multiplicitycreate(BigInteger min, BigInteger max)
static Multiplicitycreate(int min, Integer max)
booleanequals(Object o)
StringgetMaxString()
Returns the string representation of the 'max' property.
static Multiplicitygroup(Multiplicity lhs, Multiplicity rhs)
inthashCode()
booleanincludes(Multiplicity rhs)
Returns true if the multiplicity represented by this object completely includes the multiplicity represented by the other object.
booleanisAtMostOnce()
returns true if the multiplicity is (0,1) or (1,1).
booleanisOptional()
returns true if the multiplicity is (0,1)
booleanisUnique()
returns true if the multiplicity is (1,1).
booleanisZero()
returns true if the multiplicity is (0,0).
MultiplicitymakeOptional()
MultiplicitymakeRepeated()
static Multiplicitymultiply(Multiplicity lhs, Multiplicity rhs)
static MultiplicityoneOrMore(Multiplicity c)
StringtoString()
gets the string representation. mainly debug purpose.

Field Detail

max

public final BigInteger max

min

public final BigInteger min

ONE

public static final Multiplicity ONE
the constant representing the (1,1) multiplicity.

OPTIONAL

public static final Multiplicity OPTIONAL
the constant representing the (0,1) multiplicity.

PLUS

public static final Multiplicity PLUS
the constant representing the (1,unbounded) multiplicity.

STAR

public static final Multiplicity STAR
the constant representing the (0,unbounded) multiplicity.

ZERO

public static final Multiplicity ZERO
the constant representing the (0,0) multiplicity.

Method Detail

choice

public static Multiplicity choice(Multiplicity lhs, Multiplicity rhs)

create

public static Multiplicity create(BigInteger min, BigInteger max)

create

public static Multiplicity create(int min, Integer max)

equals

boolean equals(Object o)

getMaxString

public String getMaxString()
Returns the string representation of the 'max' property. Either a number or a token "unbounded".

group

public static Multiplicity group(Multiplicity lhs, Multiplicity rhs)

hashCode

int hashCode()

includes

public boolean includes(Multiplicity rhs)
Returns true if the multiplicity represented by this object completely includes the multiplicity represented by the other object. For example, we say [1,3] includes [1,2] but [2,4] doesn't include [1,3].

isAtMostOnce

public boolean isAtMostOnce()
returns true if the multiplicity is (0,1) or (1,1).

isOptional

public boolean isOptional()
returns true if the multiplicity is (0,1)

isUnique

public boolean isUnique()
returns true if the multiplicity is (1,1).

isZero

public boolean isZero()
returns true if the multiplicity is (0,0).

makeOptional

public Multiplicity makeOptional()

makeRepeated

public Multiplicity makeRepeated()

multiply

public static Multiplicity multiply(Multiplicity lhs, Multiplicity rhs)

oneOrMore

public static Multiplicity oneOrMore(Multiplicity c)

toString

String toString()
gets the string representation. mainly debug purpose.