Top Description Fields Constructors Methods
com.sun.tools.xjc.model

public final Class Multiplicity

extends Object
Class Inheritance
Imports
java.math.BigInteger

represents a possible number of occurrence. 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 '*' occurrence of DTD. (0,1) corresponds to the '?' occurrence of DTD.

Author
Kohsuke KAWAGUCHI

Field Summary

Modifier and TypeField and Description
public final BigInteger
public final BigInteger
public static final Multiplicity
ONE

the constant representing the (1,1) multiplicity.

public static final Multiplicity
OPTIONAL

the constant representing the (0,1) multiplicity.

public static final Multiplicity
PLUS

the constant representing the (1,unbounded) multiplicity.

public static final Multiplicity
STAR

the constant representing the (0,unbounded) multiplicity.

public static final Multiplicity
ZERO

the constant representing the (0,0) multiplicity.

Constructor Summary

AccessConstructor and Description
private
private
Multiplicity(int min, int max)

private
Multiplicity(int min, Integer max)

Method Summary

Modifier and TypeMethod and Description
public static Multiplicity
public static Multiplicity
public static Multiplicity
create(int min, Integer max)

public boolean
equals(Object o)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

public String
getMaxString()

Returns the string representation of the 'max' property.

public static Multiplicity
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.

public boolean
includes(Multiplicity rhs)

Returns true if the multiplicity represented by this object completely includes the multiplicity represented by the other object.

public boolean
isAtMostOnce()

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

public boolean
isOptional()

returns true if the multiplicity is (0,1)

public boolean
isUnique()

returns true if the multiplicity is (1,1).

public boolean
isZero()

returns true if the multiplicity is (0,0).

private static boolean
public Multiplicity
public Multiplicity
public static Multiplicity
public static Multiplicity
public String
toString()

Overrides java.lang.Object.toString.

gets the string representation.

Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

maxback to summary
public final BigInteger max
minback to summary
public final BigInteger min
ONEback to summary
public static final Multiplicity ONE

the constant representing the (1,1) multiplicity.

OPTIONALback to summary
public static final Multiplicity OPTIONAL

the constant representing the (0,1) multiplicity.

PLUSback to summary
public static final Multiplicity PLUS

the constant representing the (1,unbounded) multiplicity.

STARback to summary
public static final Multiplicity STAR

the constant representing the (0,unbounded) multiplicity.

ZEROback to summary
public static final Multiplicity ZERO

the constant representing the (0,0) multiplicity.

Constructor Detail

Multiplicityback to summary
private Multiplicity(BigInteger min, BigInteger max)
Multiplicityback to summary
private Multiplicity(int min, int max)
Multiplicityback to summary
private Multiplicity(int min, Integer max)

Method Detail

choiceback to summary
public static Multiplicity choice(Multiplicity lhs, Multiplicity rhs)
createback to summary
public static Multiplicity create(BigInteger min, BigInteger max)
createback to summary
public static Multiplicity create(int min, Integer max)
equalsback to summary
public boolean equals(Object o)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Annotations
@Override
getMaxStringback to summary
public String getMaxString()

Returns the string representation of the 'max' property. Either a number or a token "unbounded".

groupback to summary
public static Multiplicity group(Multiplicity lhs, Multiplicity rhs)
hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Annotations
@Override
includesback to summary
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].

isAtMostOnceback to summary
public boolean isAtMostOnce()

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

isOptionalback to summary
public boolean isOptional()

returns true if the multiplicity is (0,1)

isUniqueback to summary
public boolean isUnique()

returns true if the multiplicity is (1,1).

isZeroback to summary
public boolean isZero()

returns true if the multiplicity is (0,0).

isZeroback to summary
private static boolean isZero(BigInteger i)
makeOptionalback to summary
public Multiplicity makeOptional()
makeRepeatedback to summary
public Multiplicity makeRepeated()
multiplyback to summary
public static Multiplicity multiply(Multiplicity lhs, Multiplicity rhs)
oneOrMoreback to summary
public static Multiplicity oneOrMore(Multiplicity c)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

gets the string representation. mainly debug purpose.

Annotations
@Override