Interface CSTNPSUEdge
- All Superinterfaces:
BasicCSTNUEdge
,Comparable<Object>
,Component
,CSTNEdge
,Edge
,Serializable
- All Known Implementing Classes:
CSTNPSUEdgePluggable
Represents the behavior of a CSTNPSU edge.
A CSTNPSU edge is a
In order to promote greater efficiency, some methods return a view of the internal data structures (they are all methods that return a set of
A CSTNPSU edge is a
CSTNU
edge where it is also possible to have more lower-case values.
So, lower-case values are represented as a set of lower-case values.
LabeledLowerCaseValue
is NOT used.
In order to promote greater efficiency, some methods return a view of the internal data structures (they are all methods that return a set of
Entry
).
Such view could be dangerous because it could be modified directly (don't do that!) Such methods must be used only to read-only scan the labeled values or
labeled values' labels in an efficiente way. Moreover, such views are not more valid if a value is added to or removed from the edge.- Version:
- $Rev: 804 $
- Author:
- posenato
-
Nested Class Summary
Nested classes/interfaces inherited from interface it.univr.di.cstnu.graph.Edge
Edge.ConstraintType
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Clears the labeled lower case values.it.unimi.dsi.fastutil.objects.ObjectSet
<it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry<ALabel, it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>>> Don't use this set for a scanning that requires to modify the internal map because otherwise this set becomes not valid at first modification.it.unimi.dsi.fastutil.objects.ObjectSet
<Label> it.unimi.dsi.fastutil.objects.ObjectSet
<Label> getLabelsOfLowerCaseValues
(ALabel aLabel) it.unimi.dsi.fastutil.objects.ObjectSet
<ALabel> int
getLowerCaseValue
(Label l, ALabel name) it.unimi.dsi.fastutil.objects.ObjectSet
<it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry<ALabel, it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>>> Don't use this set for a scanning that requires to modify the internal map because otherwise this set becomes not valid at first modification.it.unimi.dsi.fastutil.objects.ObjectSet
<it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>> getLowerCaseValues
(ALabel lowerCaseLabel) it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry
<Label, it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<ALabel>> boolean
mergeLowerCaseValue
(Label l, ALabel nodeName, int i) Merge a lower label constraint with valuei
for the node namen
with labell
.void
removeLowerCaseValue
(Label l, ALabel n) void
setLowerCaseValues
(LabeledALabelIntTreeMap lowerCaseValue) Methods inherited from interface it.univr.di.cstnu.graph.BasicCSTNUEdge
clearLowerCaseValue, clearUpperCaseValues, getAllUpperCaseAndLabeledValues, getLabelsOfUpperCaseValues, getLabelsOfUpperCaseValues, getMinUpperCaseValue, getMinUpperCaseValue, getUpperCaseLabels, getUpperCaseValue, getUpperCaseValues, getUpperCaseValues, lowerCaseValueAsString, lowerCaseValueSize, mergeUpperCaseValue, putLowerCaseValue, putUpperCaseValue, removeUpperCaseValue, setUpperCaseValueMap, size, upperCaseValuesAsString, upperCaseValueSize
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface it.univr.di.cstnu.graph.Component
clear, equals, equalsByName, getName, hashCode, inNegativeCycle, setInNegativeCycle, setName, toString
Methods inherited from interface it.univr.di.cstnu.graph.CSTNEdge
getLabeledIntMapImplClass, getLabeledValues, getLabelsOfLabeledValues, getMinLabeledValue, getMinValue, getMinValueSubsumedBy, getValue, labeledValuesAsString, mergeLabeledValue, mergeLabeledValue, mergeLabeledValues, putLabeledValue, removeLabeledValue, setLabeledValueMap
Methods inherited from interface it.univr.di.cstnu.graph.Edge
getConstraintType, hasSameValues, isContingentEdge, isCSTNEdge, isCSTNPSUEdge, isCSTNUEdge, isEmpty, isOSTNUEdge, isRequirementEdge, isSTNEdge, isSTNUEdge, newInstance, newInstance, newInstance, setConstraintType, takeIn
-
Method Details
-
clearLowerCaseValues
void clearLowerCaseValues()Clears the labeled lower case values. -
getAllLowerCaseAndLabeledValues
it.unimi.dsi.fastutil.objects.ObjectSet<it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry<ALabel,it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>>> getAllLowerCaseAndLabeledValues()Don't use this set for a scanning that requires to modify the internal map because otherwise this set becomes not valid at first modification.- Returns:
- the set of all labeled values and all labeled lower-case ones. The labeled values have ALabel empty.
-
getLabelsOfLowerCaseValues
-
getLabelsOfLowerCaseValues
it.unimi.dsi.fastutil.objects.ObjectSet<Label> getLabelsOfLowerCaseValues()- Returns:
- the set of all labels associated to all lower-case labeled value;
-
getMinLowerCaseValue
-
getLowerCaseLabels
it.unimi.dsi.fastutil.objects.ObjectSet<ALabel> getLowerCaseLabels()- Returns:
- the set of all lower-case labels.
-
getLowerCaseValue
- Parameters:
l
- aLabel
object.name
- aALabel
node name.- Returns:
- the labeled lower-Case value.
Constants.INT_NULL
if the value does not exist.
-
getLowerCaseValues
it.unimi.dsi.fastutil.objects.ObjectSet<it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry<ALabel,it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>>> getLowerCaseValues()Don't use this set for a scanning that requires to modify the internal map because otherwise this set becomes not valid at first modification.- Returns:
- the set of all labeled lower-case values.
-
getLowerCaseValues
@Nonnull it.unimi.dsi.fastutil.objects.ObjectSet<it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<Label>> getLowerCaseValues(@Nonnull ALabel lowerCaseLabel) - Parameters:
lowerCaseLabel
- a non-null lower-case label.- Returns:
- a view of the lower-case values associated lowerCaseLabel if there are some of them, empty set otherwise.
-
mergeLowerCaseValue
Merge a lower label constraint with valuei
for the node namen
with labell
.- Parameters:
l
- It cannot be null or empty.nodeName
- the node name. It cannot be null. It must be the unmodified name of the node.i
- It cannot be nullInt.- Returns:
- true if the merge has been successful.
-
removeLowerCaseValue
-
setLowerCaseValues
- Parameters:
lowerCaseValue
- the labeled lower case value to use for initializing the current one.
-