Namespace: OpenEdge.Core.Collections
Type: Class HashMap
Parent Classes:
Progress.Lang.Object

Inherits: Progress.Lang.Object
Implements: OpenEdge.Core.Collections.IMap


Copyright (c) 2023 by Progress Software Corporation. All rights reserved.
File:Map
Purpose:A map containing P.L.Object keys and values.
Author(s):dugrau
Created:Sun Apr 11 01:35:13 EDT 2010
Notes:An implementation of OpenEdge.Core.Collections.IMap
which uses the Progress.Collections.HashMap for storage.
This class differs from OpenEdge.Core.Collections.Map in
the following important ways:
- The implicit FIFO ordering of keys is not supported
- The ContainsValue method is not implemented by default
- Only key objects which produce the same HashCode will
be found in the internal P.C.HashMap instance (IOW:
even if another object is considered Equals(), it may
produce a different hash-code value)
NOTICE: This class is intended for backwards compatibility
with applications using the OpenEdge.Core.Collections though
for Map objects it is highly recommended to directly use the
new Progress.Collections.HashMap<K,V> class directly.
/* New for OE12.8: Changed from temp-table to the new HashMap object as the holder of the map data.



Method Summary
  Options Name Purpose
  Clear () /* Removes all mappings from this map (optional operation). */
  LOGICAL ContainsAllKeys (ICollection) /* Returns true if this map contains all of the keys in a collection. @param ICollection A collection of keys. Must be a valid object. @return logical TRUE if all the keys in the input collection are in this map */
  LOGICAL ContainsAllValues (ICollection) /* Returns true if this map maps one or more keys to the specified value. @param ICollection A collection of values @return logical TRUE if all of the values in the source collection are values in the map's Values */
  LOGICAL ContainsKey (Object) /* Returns true if this map contains a mapping for the specified key. @param Object The key for the map entry. Must be valid and of type P.L.Object @return logical TRUE if the map contains an entry with the specified key; FALSE otherwise */
  LOGICAL ContainsValue (Object) /* Returns true if there's at least one value in the map that equals the input value. @param Object The value to find. May be null/unknown. @return logical TRUE if at least one value exists in the map; FALSE otherwise. */
  LOGICAL Equals (Object) /* Compares this Map to another object, confirming if both are IMap objects with identical mappings. @param Object The other object to compare (if also an IMap) @return logical True if the given object is also a map and the two Maps represent the same mappings. */
  Progress.Lang.Object Get (Object) /* Retrieves the value for a particular key @param Object The key for the map entry. The value object must be valid and of type P.L.Object @return Object The associated value, or unknown if the entry does not exist. If the value exists, it will be of type Progress.Lang.Object */
  LOGICAL IsEmpty () /* Returns true if this map contains no key-value mappings. @return logical TRUE if the map has no entries; FALSE otherwise */
  Progress.Lang.Object Put (Object, Object) /* Adds a value and/or key to the map. @param Object The key for the map entry. Must be a valid object, but may have an empty or unknown value. Is unique in the map. @param Object The value for the key. May be a valid Object. @return Object The previous value, or unknown if none. Unknown is a valid value too. */
  PutAll (IMap) /* Adds all entries from another map to this one (optional operation). @param IMap A valid map */
  Progress.Lang.Object Remove (Object) /* Removes the map entry for a particular key @param Object The key for the map entry. Must be a valid object. @return Object The associated value, or unknown if there is no entry. */
  RemoveAll (ICollection) /* Removes the mappings for all key from this map if it is present (optional operation). @param ICollection A collection of keys to remove */

Constructor Summary
  Options Name Purpose
  HashMap () /* Default constructor */
  HashMap (IMap) /* Constructor. Populates the map with the contents of another map. @param IMap Contains entries to add to this map. Entries are just added to this map, and are not cloned/duplicated */

Property Summary
  Options Name Purpose
  OpenEdge.Core.Collections.ISet EntrySet
  OpenEdge.Core.Collections.ISet KeySet
  INTEGER Size
  OpenEdge.Core.Collections.ICollection Values


Method Detail
Top

Clear ()

/* Removes all mappings from this map (optional operation).
Top

LOGICAL ContainsAllKeys (ICollection)

/* Returns true if this map contains all of the keys in a collection.
Parameters:
pKeys OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
  logical TRUE if all the keys in the input collection are in this map
Top

LOGICAL ContainsAllValues (ICollection)

/* Returns true if this map maps one or more keys to the specified value.
Parameters:
pValues OpenEdge.Core.Collections.ICollection
 
Returns LOGICAL
  logical TRUE if all of the values in the source collection are values in the map's Values
Top

LOGICAL ContainsKey (Object)

/* Returns true if this map contains a mapping for the specified key.
Parameters:
pKey Progress.Lang.Object
 
Returns LOGICAL
  logical TRUE if the map contains an entry with the specified key; FALSE otherwise
Top

LOGICAL ContainsValue (Object)

/* Returns true if there's at least one value in the map that equals the input value.
Parameters:
pValue Progress.Lang.Object
 
Returns LOGICAL
  logical TRUE if at least one value exists in the map; FALSE otherwise.
Top

LOGICAL Equals (Object)

/* Compares this Map to another object, confirming if both are IMap objects with identical mappings.
Parameters:
oRef Progress.Lang.Object
 
Returns LOGICAL
  logical True if the given object is also a map and the two Maps represent the same mappings.
Top

Progress.Lang.Object Get (Object)

/* Retrieves the value for a particular key
Parameters:
pKey Progress.Lang.Object
 
Returns Progress.Lang.Object
  Object The associated value, or unknown if the entry does not exist. If the value exists, it will be of type Progress.Lang.Object
Top

LOGICAL IsEmpty ()

/* Returns true if this map contains no key-value mappings.
Returns LOGICAL
  logical TRUE if the map has no entries; FALSE otherwise
Top

Progress.Lang.Object Put (Object, Object)

/* Adds a value and/or key to the map.
Parameters:
pKey Progress.Lang.Object
 
pValue Progress.Lang.Object
 
Returns Progress.Lang.Object
  Object The previous value, or unknown if none. Unknown is a valid value too.
Top

PutAll (IMap)

/* Adds all entries from another map to this one (optional operation).
Parameters:
pMap OpenEdge.Core.Collections.IMap
 
Top

Progress.Lang.Object Remove (Object)

/* Removes the map entry for a particular key
Parameters:
pKey Progress.Lang.Object
 
Returns Progress.Lang.Object
  Object The associated value, or unknown if there is no entry.
Top

RemoveAll (ICollection)

/* Removes the mappings for all key from this map if it is present (optional operation).
Parameters:
pKeys OpenEdge.Core.Collections.ICollection
 


Constructor Detail
Top

HashMap ()

/* Default constructor
Top

HashMap (IMap)

/* Constructor. Populates the map with the contents of another map.
Parameters:
pMap OpenEdge.Core.Collections.IMap
 


Property Detail
Top

OpenEdge.Core.Collections.ISet EntrySet

Returns OpenEdge.Core.Collections.ISet
 
Top

OpenEdge.Core.Collections.ISet KeySet

Returns OpenEdge.Core.Collections.ISet
 
Top

INTEGER Size

Returns INTEGER
 
Top

OpenEdge.Core.Collections.ICollection Values

Returns OpenEdge.Core.Collections.ICollection