Interface CSTNPSUEdge

All Superinterfaces:
BasicCSTNUEdge, Comparable<Object>, Component, CSTNEdge, Edge, Serializable
All Known Implementing Classes:
CSTNPSUEdgePluggable

public interface CSTNPSUEdge extends BasicCSTNUEdge
Represents the behavior of a CSTNPSU edge.
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
  • 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

      it.unimi.dsi.fastutil.objects.ObjectSet<Label> getLabelsOfLowerCaseValues(@Nonnull ALabel aLabel)
      Parameters:
      aLabel - the lower-case label
      Returns:
      the set of all labels associated to lower-case label aLabel.
    • getLabelsOfLowerCaseValues

      it.unimi.dsi.fastutil.objects.ObjectSet<Label> getLabelsOfLowerCaseValues()
      Returns:
      the set of all labels associated to all lower-case labeled value;
    • getMinLowerCaseValue

      it.unimi.dsi.fastutil.objects.Object2ObjectMap.Entry<Label,it.unimi.dsi.fastutil.objects.Object2IntMap.Entry<ALabel>> getMinLowerCaseValue()
      Returns:
      a copy of the minimal value (with the ALabel) among all upper-case labeled values if there are some of them, null otherwise.
    • getLowerCaseLabels

      it.unimi.dsi.fastutil.objects.ObjectSet<ALabel> getLowerCaseLabels()
      Returns:
      the set of all lower-case labels.
    • getLowerCaseValue

      int getLowerCaseValue(Label l, ALabel name)
      Parameters:
      l - a Label object.
      name - a ALabel 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

      boolean mergeLowerCaseValue(Label l, ALabel nodeName, int i)
      Merge a lower label constraint with value i for the node name n with label l.
      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

      void removeLowerCaseValue(Label l, ALabel n)
      Parameters:
      l - a Label object.
      n - a ALabel node name
    • setLowerCaseValues

      void setLowerCaseValues(LabeledALabelIntTreeMap lowerCaseValue)
      Parameters:
      lowerCaseValue - the labeled lower case value to use for initializing the current one.