Package com.sun.tools.xjc.model
Class Multiplicity
- java.lang.Object
-
- com.sun.tools.xjc.model.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.
- Author:
- Kohsuke KAWAGUCHI
-
-
Field Summary
Fields Modifier and Type Field Description BigIntegermaxBigIntegerminstatic MultiplicityONEthe constant representing the (1,1) multiplicity.static MultiplicityOPTIONALthe constant representing the (0,1) multiplicity.static MultiplicityPLUSthe constant representing the (1,unbounded) multiplicity.static MultiplicitySTARthe constant representing the (0,unbounded) multiplicity.static MultiplicityZEROthe constant representing the (0,0) multiplicity.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Multiplicitychoice(Multiplicity lhs, Multiplicity rhs)static Multiplicitycreate(int min, Integer max)static Multiplicitycreate(BigInteger min, BigInteger 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.
-
-
-
Field Detail
-
min
public final BigInteger min
-
max
public final BigInteger max
-
ZERO
public static final Multiplicity ZERO
the constant representing the (0,0) multiplicity.
-
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.
-
STAR
public static final Multiplicity STAR
the constant representing the (0,unbounded) multiplicity.
-
PLUS
public static final Multiplicity PLUS
the constant representing the (1,unbounded) multiplicity.
-
-
Method Detail
-
create
public static Multiplicity create(BigInteger min, BigInteger max)
-
create
public static Multiplicity create(int min, Integer max)
-
isUnique
public boolean isUnique()
returns true if the multiplicity is (1,1).
-
isOptional
public boolean isOptional()
returns true if the multiplicity is (0,1)
-
isAtMostOnce
public boolean isAtMostOnce()
returns true if the multiplicity is (0,1) or (1,1).
-
isZero
public boolean isZero()
returns true if the multiplicity is (0,0).
-
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].
-
getMaxString
public String getMaxString()
Returns the string representation of the 'max' property. Either a number or a token "unbounded".
-
toString
public String toString()
gets the string representation. mainly debug purpose.
-
choice
public static Multiplicity choice(Multiplicity lhs, Multiplicity rhs)
-
group
public static Multiplicity group(Multiplicity lhs, Multiplicity rhs)
-
multiply
public static Multiplicity multiply(Multiplicity lhs, Multiplicity rhs)
-
oneOrMore
public static Multiplicity oneOrMore(Multiplicity c)
-
makeOptional
public Multiplicity makeOptional()
-
makeRepeated
public Multiplicity makeRepeated()
-
-