Class VJDFAttributeMap

All Implemented Interfaces:
Serializable, Cloneable, Iterable<JDFAttributeMap>, Collection<JDFAttributeMap>, List<JDFAttributeMap>, RandomAccess

public class VJDFAttributeMap extends Vector<JDFAttributeMap>
Description: This class represents a vector of JDFAttributeMaps
See Also:
  • Constructor Details

    • VJDFAttributeMap

      public VJDFAttributeMap()
      constructor
    • VJDFAttributeMap

      public VJDFAttributeMap(Vector<JDFAttributeMap> toAdd)
      copy constructor, the map elements are cloned
      Parameters:
      toAdd - Vector of elements to clone
    • VJDFAttributeMap

      public VJDFAttributeMap(Collection<JDFAttributeMap> toAdd)
      copy constructor, the map elements are cloned
      Parameters:
      toAdd - Vector of elements to clone
    • VJDFAttributeMap

      public VJDFAttributeMap(JDFAttributeMap[] toAdd)
      constructor from array, the map elements are not cloned
      Parameters:
      toAdd - the array
    • VJDFAttributeMap

      public VJDFAttributeMap(JDFAttributeMap moreMap)
      Parameters:
      moreMap - the single attribute map to add
  • Method Details

    • toString

      public String toString()
      toString
      Overrides:
      toString in class Vector<JDFAttributeMap>
      Returns:
      String
    • getNonEmpty

      public static VJDFAttributeMap getNonEmpty(VJDFAttributeMap v)
      Parameters:
      v -
      Returns:
    • getVector

      public static VJDFAttributeMap getVector(JDFAttributeMap partMap)
      Parameters:
      partMap -
      Returns:
    • isEmpty

      public static boolean isEmpty(VJDFAttributeMap v)
      are we null or empty or contain only an empty JDFAttributeMap
      Parameters:
      v -
      Returns:
    • isEmpty

      public static boolean isEmpty(Collection<JDFAttributeMap> v)
    • showKeys

      public String showKeys(String sepMap, String sepEntry)
      Parameters:
      sepMap - the separator between maps
      sepEntry - the separator between map entries
      Returns:
      the string representation
    • getPartValues

      public VString getPartValues(String strKey, boolean bUnique)
      Parameters:
      strKey - the attribute to get values from
      bUnique - if true, ensure unique vector, else the vector corresponds to the vector of values
      Returns:
      the Vector of all values
    • extendMap

      public void extendMap(String strKey, List<String> vsValues)
      replace all maps in this with n maps that have the values strKey, vsValues
      Parameters:
      strKey - the new key to add
      vsValues - String of values
    • getAndMaps

      public VJDFAttributeMap getAndMaps(JDFAttributeMap map)
      andMap - builds a new vector of maps with identical pairs of both maps does not modify this
      Parameters:
      map - the given map
      Returns:
      the anded map, null if mismatches occurred
    • getOrMaps

      public VJDFAttributeMap getOrMaps(JDFAttributeMap map)
      andMap - builds a new vector of maps with identical pairs of both maps does not modify this
      Parameters:
      map - the given map
      Returns:
      the anded map, null if mismatches occurred
    • getOrMaps

      public VJDFAttributeMap getOrMaps(VJDFAttributeMap vMap)
    • getOrMaps

      public VJDFAttributeMap getOrMaps(Collection<JDFAttributeMap> vMap)
      andMap - builds a new vector of maps with identical pairs of both maps does not modify this
      Parameters:
      map - the given map
      Returns:
      the anded map, null if mismatches occurred
    • containsKey

      public boolean containsKey(Object key)
      Parameters:
      key - the key to check for
      Returns:
      true if any of the maps contains key
      See Also:
    • setVector

      public void setVector(Collection<JDFAttributeMap> vec)
      sets the Vector with JDFAttributeMap elements
      Parameters:
      vec - the Vector with JDFAttributeMap elements
    • maxSize

      public int maxSize()
      Return the maximum size size of a JDFAttributeMap in this
      Returns:
      int - the size
    • minSize

      public int minSize()
      Return the minimum size size of a JDFAttributeMap in this
      Returns:
      int - the size
    • elementAt

      public JDFAttributeMap elementAt(int i)
      Returns the element at the given position
      Overrides:
      elementAt in class Vector<JDFAttributeMap>
      Parameters:
      i - the given position (may be<0 to count backwards)
      Returns:
      JDFAttributeMap - the selected element
    • get

      public JDFAttributeMap get(int i)
      Returns the element at the given position (may be<0 to count backwards)
      Specified by:
      get in interface List<JDFAttributeMap>
      Overrides:
      get in class Vector<JDFAttributeMap>
      Parameters:
      i - the given position
      Returns:
      JDFAttributeMap - the selected element
    • removeKeys

      public void removeKeys(Collection<String> set)
      remove the keys specified in set and then erase any duplicates and emptys
      Parameters:
      set -
    • removeElementAt

      public void removeElementAt(int i)
      Overrides:
      removeElementAt in class Vector<JDFAttributeMap>
    • removeKey

      public void removeKey(String key)
      remove the key specified and then erase any duplicates and emptys
      Parameters:
      key -
    • hasEntryWithEqualKeyValuePairs

      @Deprecated public boolean hasEntryWithEqualKeyValuePairs(JDFAttributeMap attmap)
      Deprecated.
      use contains
      Tests whether this has a entry with the same key and value entries not more nor less keys
      Parameters:
      attmap - the given JDFAttributeMap element
      Returns:
      boolean - true if and only if the specified AttributeMap has the some number of keys and values and the same keys and values as a entry in this vector
    • reduceKey

      @Deprecated public void reduceKey(Vector vKeys)
      Deprecated.
      use reduceMap
      Parameters:
      vKeys -
    • reduceMap

      public void reduceMap(Collection<String> keySet)
      reduce each JDFAttributeMap in this by keySet (only entries in keyset are retained)
      Parameters:
      keySet -
    • getKeys

      public VString getKeys()
      return list of all keys
      Returns:
      the vector of all keys
    • getVector

      @Deprecated public Vector<JDFAttributeMap> getVector()
      Deprecated.
      - use this
      Returns the vector with JDFAttributeMap elements
      Returns:
      Vector - the vector with JDFAttributeMap elements
    • getCommonMap

      public JDFAttributeMap getCommonMap()
      return the map that is common to all elements of this. All keys exist and have the same value
      Returns:
      the vector of all keys
    • appendUnique

      public void appendUnique(JDFAttributeMap map)
      Parameters:
      map - map to append
    • addElement

      public void addElement(JDFAttributeMap map)
      Overrides:
      addElement in class Vector<JDFAttributeMap>
    • unify

      public void unify()
      unify - make VElement unique, retaining initial order
    • appendUnique

      public void appendUnique(VJDFAttributeMap maps)
      Method appendUnique.
      Parameters:
      maps - maps to append
    • appendUnique

      public void appendUnique(Collection<JDFAttributeMap> maps)
      Method appendUnique.
      Parameters:
      maps - maps to append
    • addall

      @Deprecated public void addall(VJDFAttributeMap v)
      Deprecated.
      use addAll
      deprecated legacy support
      Parameters:
      v -
    • overlapMap

      public void overlapMap(JDFAttributeMap map)
      Method overlapMap. removes all non-overlapping maps from this
      Parameters:
      map - the map to check against
    • getOverlapMaps

      public VJDFAttributeMap getOverlapMaps(JDFAttributeMap map)
      Method overlapMap. get a copy of this with all overlapping maps the maps are NOT cloned
      Parameters:
      map - the map to check against
      Returns:
      a new VJDFAttributemap with the overlapping entries of this - never null
    • getMatchingMaps

      public VJDFAttributeMap getMatchingMaps(String key, String regExp, boolean ignoreCase)
      Method overlapMap. get a copy of this with all matching maps the maps are NOT cloned
      Parameters:
      key - the key to match
      regExp - the simplified regexp
      ignoreCase - duh...
      Returns:
      a new VJDFAttributemap with the matching entries of this - never null (may be safely daisy-chained)
    • overlapMap

      public void overlapMap(VJDFAttributeMap vMap)
      Method overlapMap. only entries that contain at least one matching map entry are retained
      Parameters:
      vMap - the map to check against
    • overlapMap

      public void overlapMap(Collection<JDFAttributeMap> vMap)
    • overlapsMap

      public boolean overlapsMap(JDFAttributeMap map)
      Method overlapMap.
      Parameters:
      map - the map to check against
      Returns:
    • subMap

      public boolean subMap(JDFAttributeMap map)
      Method subMap.
      Parameters:
      map - the submap to check against
      Returns:
      true if this has at least one entry that subMap is a submap of
    • subMap

      public boolean subMap(VJDFAttributeMap vMap)
    • subMap

      public boolean subMap(Collection<JDFAttributeMap> vMap)
      Method subMap.
      Parameters:
      vMap - the vector submaps to check against
      Returns:
      true if this has at least one entry that vMap contains at least a submap of
    • overlapsMap

      public boolean overlapsMap(VJDFAttributeMap vMap)
    • overlapsMap

      public boolean overlapsMap(Collection<JDFAttributeMap> vMap)
      Method overlapsMap. returns true if at least one element exists that has no non-matching key value pairs
      Parameters:
      vMap - the vector to check against
      Returns:
      true if this has at least one entry that vMap contains at least a submap of
    • equals

      public boolean equals(Object other)
      equals - Compares two map vectors, returns true if content equal regardless of element order, otherwise false.
      If input is not of type VJDFAttributeMap, result of superclasses equals method is returned.
      Specified by:
      equals in interface Collection<JDFAttributeMap>
      Specified by:
      equals in interface List<JDFAttributeMap>
      Overrides:
      equals in class Vector<JDFAttributeMap>
      Parameters:
      other - in this case VJDFAttributeMap to compare
      Returns:
      boolean - true if the maps are equal, otherwise false
    • hashCode

      public int hashCode()
      hashCode complements equals() to fulfill the equals/hashCode contract
      Specified by:
      hashCode in interface Collection<JDFAttributeMap>
      Specified by:
      hashCode in interface List<JDFAttributeMap>
      Overrides:
      hashCode in class Vector<JDFAttributeMap>
      Returns:
      int
    • put

      public void put(Object key, Object value)
      put the key value pair into all entries
      Parameters:
      key - the key to set - may be either String or Enum
      value - the value to set - may be either String or Enum
      Throws:
      IllegalArgumentException - if key or value have the wrong type
    • put

      public void put(String key, String value)
      put the key value pair into all entries; if no entries are there, create exactly one entry with the given key value pair
      Parameters:
      key - the key to set
      value - the value to set
    • clone

      public VJDFAttributeMap clone()
      Overrides:
      clone in class Vector<JDFAttributeMap>
      Returns:
      See Also:
    • removeMaps

      public void removeMaps(JDFAttributeMap map)
      remove all matching maps from this i.e. if map is subMap of this
      Parameters:
      map -
    • put

      public void put(JDFAttributeMap commonMap)
      put the value of all keys into every existing map
      Parameters:
      commonMap -
    • setElementAt

      public void setElementAt(JDFAttributeMap mTmp, int j)
      Overrides:
      setElementAt in class Vector<JDFAttributeMap>