Class DelegatingMapItem

    • Constructor Detail

      • DelegatingMapItem

        public DelegatingMapItem​(MapItem base)
        Create a DelegatingMapItem that delegates all map-related access to a specified base map.
        Parameters:
        base - the map item to which this implementation delegates
    • Method Detail

      • get

        public GroundedValue get​(AtomicValue key)
        Description copied from interface: MapItem
        Get an entry from the Map
        Specified by:
        get in interface MapItem
        Parameters:
        key - the value of the key
        Returns:
        the value associated with the given key, or null if the key is not present in the map.
      • size

        public int size()
        Description copied from interface: MapItem
        Get the size of the map
        Specified by:
        size in interface MapItem
        Returns:
        the number of keys/entries present in this map
      • isEmpty

        public boolean isEmpty()
        Description copied from interface: MapItem
        Ask whether the map is empty
        Specified by:
        isEmpty in interface MapItem
        Returns:
        true if and only if the size of the map is zero
      • keys

        public AtomicIterator<? extends AtomicValue> keys()
        Description copied from interface: MapItem
        Get the set of all key values in the map.
        Specified by:
        keys in interface MapItem
        Returns:
        a set containing all the key values present in the map, in unpredictable order
      • keyValuePairs

        public java.lang.Iterable<KeyValuePair> keyValuePairs()
        Description copied from interface: MapItem
        Get the set of all key-value pairs in the map
        Specified by:
        keyValuePairs in interface MapItem
        Returns:
        an iterable containing all the key-value pairs
      • addEntry

        public MapItem addEntry​(AtomicValue key,
                                GroundedValue value)
        Description copied from interface: MapItem
        Create a new map containing the existing entries in the map plus an additional entry, without modifying the original. If there is already an entry with the specified key, this entry is replaced by the new entry.
        Specified by:
        addEntry in interface MapItem
        Parameters:
        key - the key of the new entry
        value - the value associated with the new entry
        Returns:
        the new map containing the additional entry
      • remove

        public MapItem remove​(AtomicValue key)
        Description copied from interface: MapItem
        Remove an entry from the map
        Specified by:
        remove in interface MapItem
        Parameters:
        key - the key of the entry to be removed
        Returns:
        a new map in which the requested entry has been removed; or this map unchanged if the specified key was not present
      • conforms

        public boolean conforms​(AtomicType keyType,
                                SequenceType valueType,
                                TypeHierarchy th)
        Description copied from interface: MapItem
        Ask whether the map conforms to a given map type
        Specified by:
        conforms in interface MapItem
        Parameters:
        keyType - the required keyType
        valueType - the required valueType
        th - the type hierarchy cache for the configuration
        Returns:
        true if the map conforms to the required type
      • getItemType

        public MapType getItemType​(TypeHierarchy th)
        Description copied from interface: MapItem
        Get the type of the map. This method is used largely for diagnostics, to report the type of a map when it differs from the required type.
        Specified by:
        getItemType in interface MapItem
        Returns:
        the type of this map
      • getKeyUType

        public UType getKeyUType()
        Description copied from interface: MapItem
        Get the lowest common item type of the keys in the map
        Specified by:
        getKeyUType in interface MapItem
        Returns:
        the most specific type to which all the keys belong. If the map is empty, return UType.VOID
      • getBaseItem

        public MapItem getBaseItem()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object