Package eu.simuline.util
Class CollectionsExt.ImmutableMultiplicity
- java.lang.Object
-
- eu.simuline.util.CollectionsExt.ImmutableMultiplicity
-
- All Implemented Interfaces:
MultiSet.Multiplicity,Comparable<MultiSet.Multiplicity>
- Enclosing class:
- CollectionsExt<E>
private static class CollectionsExt.ImmutableMultiplicity extends Object implements MultiSet.Multiplicity
An immutable implementation of the multiplicity interface.
-
-
Field Summary
Fields Modifier and Type Field Description private Set<CollectionsExt.Modification>modprivate MultiSet.Multiplicitywrapped
-
Constructor Summary
Constructors Constructor Description ImmutableMultiplicity(MultiSet.Multiplicity wrapped, Set<CollectionsExt.Modification> mod)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intadd(int mult)Adds the specified multiplicity (which may well be negative) to the wrapped multiplicity which is thus modified.private Set<CollectionsExt.Modification>allowedModifications()intcompareTo(MultiSet.Multiplicity mult)Defines the natural ordering on natural numbers.booleanequals(Object obj)Returnstrueif and only ifobjis also an instance ofMultiplicityand if the wrapped multiplicities coincide.intget()Returns the wrapped multiplicity.inthashCode()intset(int mult)Sets the multiplicity wrapped by this object to the specified value.
-
-
-
Field Detail
-
wrapped
private final MultiSet.Multiplicity wrapped
-
mod
private final Set<CollectionsExt.Modification> mod
-
-
Constructor Detail
-
ImmutableMultiplicity
ImmutableMultiplicity(MultiSet.Multiplicity wrapped, Set<CollectionsExt.Modification> mod)
-
-
Method Detail
-
allowedModifications
private Set<CollectionsExt.Modification> allowedModifications()
-
set
public int set(int mult)
Description copied from interface:MultiSet.MultiplicitySets the multiplicity wrapped by this object to the specified value.- Specified by:
setin interfaceMultiSet.Multiplicity- Parameters:
mult- a strictly positiveintvalue representing the old multiplicity.
-
add
public int add(int mult)
Description copied from interface:MultiSet.MultiplicityAdds the specified multiplicity (which may well be negative) to the wrapped multiplicity which is thus modified.- Specified by:
addin interfaceMultiSet.Multiplicity- Parameters:
mult- anintsuch thatthis.mult + mult > 0holds.- Returns:
- the new multiplicity
this.mult + mult.
-
get
public int get()
Description copied from interface:MultiSet.MultiplicityReturns the wrapped multiplicity.- Specified by:
getin interfaceMultiSet.Multiplicity
-
compareTo
public int compareTo(MultiSet.Multiplicity mult)
Description copied from interface:MultiSet.MultiplicityDefines the natural ordering on natural numbers.- Specified by:
compareToin interfaceComparable<MultiSet.Multiplicity>- Specified by:
compareToin interfaceMultiSet.Multiplicity- Parameters:
mult- aMultiplicitywhich should in fact be anotherMultiSet.Multiplicity.- Returns:
- the difference of the wrapped multiplicities.
-
equals
public boolean equals(Object obj)
Returnstrueif and only ifobjis also an instance ofMultiplicityand if the wrapped multiplicities coincide.- Specified by:
equalsin interfaceMultiSet.Multiplicity- Overrides:
equalsin classObject- Parameters:
obj- anObjectvalue which may well benull.- Returns:
- a
booleanvalue which indicates whetherobjis also an instance ofMultiplicityand whether the wrapped multiplicity coincides with this one. - See Also:
compareTo(eu.simuline.util.MultiSet.Multiplicity)
-
-