Class VSpaceBase<T extends Comparable<T>,D>

java.lang.Object
org.aksw.jenax.constraint.util.VSpaceBase<T,D>
Direct Known Subclasses:
NodeRanges

public abstract class VSpaceBase<T extends Comparable<T>,D> extends Object
  • Field Details

    • vscToRangeSets

      protected Map<D,com.google.common.collect.RangeSet<T extends Comparable<T>>> vscToRangeSets
    • isVscExhaustive

      protected boolean isVscExhaustive
      Whether the key set of vscToRangeSets covers all possible dimensions. If false then this value space is "open" to all values in any so far unknown dimensions. If true then this value space is "closed".
  • Constructor Details

    • VSpaceBase

      protected VSpaceBase(boolean isVscExhaustive)
    • VSpaceBase

      protected VSpaceBase(boolean isVscExhaustive, Map<D,com.google.common.collect.RangeSet<T>> vscToRangeSets)
  • Method Details

    • classifyValueSpace

      protected abstract D classifyValueSpace(com.google.common.collect.Range<T> range)
    • getDimension

      public com.google.common.collect.RangeSet<T> getDimension(Object dimensionKey)
      May return null.
    • setDimension

      public VSpaceBase<T,D> setDimension(Object dimensionKey, com.google.common.collect.RangeSet<T> rangeSet)
      Argument is copied
    • removeDimension

      public VSpaceBase<T,D> removeDimension(Object dimensionKey)
    • addEmptyDimension

      public VSpaceBase<T,D> addEmptyDimension(D dimension)
      Add a new empty dimension. Do nothing if it already exists or if the dimensions are exhaustive
    • getOrCreateDimension

      public com.google.common.collect.RangeSet<T> getOrCreateDimension(D dimension)
    • addOpenDimension

      public VSpaceBase<T,D> addOpenDimension(D dimension)
      Add a new unconstrained dimension. Do nothing if it already exists or dimensions are non-exhaustive
    • isUnconstrained

      public boolean isUnconstrained()
      Unconstrained mode means that any valid range is considered enclosed by this one
    • isConflicting

      public boolean isConflicting()
    • add

      public void add(com.google.common.collect.Range<T> range)
    • substract

      public void substract(com.google.common.collect.Range<T> range)
    • stateIntersection

      public VSpaceBase<T,D> stateIntersection(VSpaceBase<T,D> that)
      Mutate the ranges of this to create the intersection with other
      Parameters:
      that -
      Returns:
    • stateUnion

      public VSpaceBase<T,D> stateUnion(VSpaceBase<T,D> that)
      Add all other ranges to this one
      Parameters:
      that -
      Returns: