Class KeyMapper<V>

    • Constructor Detail

      • KeyMapper

        public KeyMapper​(ValueProvider<V,​Object> identifierGetter)
        Constructs a new mapper.
        Parameters:
        identifierGetter - has to return a unique key for every bean, and the returned key has to follow general hashCode() and equals() contract, see Object.hashCode() for details.
      • KeyMapper

        public KeyMapper()
        Constructs a new mapper with trivial identifierGetter
    • Method Detail

      • key

        public String key​(V o)
        Gets key for an object.
        Specified by:
        key in interface DataKeyMapper<V>
        Parameters:
        o - the object.
        Returns:
        key for given data object
      • createKey

        protected String createKey()
        Creates a key for a new item. This method can be overridden to customize the keys used.
        Returns:
        new key
      • has

        public boolean has​(V o)
        Description copied from interface: DataKeyMapper
        Check whether this key mapper contains the given data object.
        Specified by:
        has in interface DataKeyMapper<V>
        Parameters:
        o - the data object to check
        Returns:
        true if the given data object is contained in this key mapper, false otherwise
      • get

        public V get​(String key)
        Retrieves object with the key.
        Specified by:
        get in interface DataKeyMapper<V>
        Parameters:
        key - the name with the desired value.
        Returns:
        the object with the key.
      • remove

        public void remove​(V removeobj)
        Removes object from the mapper.
        Specified by:
        remove in interface DataKeyMapper<V>
        Parameters:
        removeobj - the object to be removed.
      • removeAll

        public void removeAll()
        Removes all objects from the mapper.
        Specified by:
        removeAll in interface DataKeyMapper<V>
      • containsKey

        public boolean containsKey​(String key)
        Checks if the given key is mapped to an object.
        Parameters:
        key - the key to check
        Returns:
        true if the key is currently mapped, false otherwise
      • refresh

        public void refresh​(V dataObject)
        Description copied from interface: DataKeyMapper
        Updates any existing mappings of given data object. The equality of two data objects is determined by the equality of their identifiers provided by the given value provider.
        Specified by:
        refresh in interface DataKeyMapper<V>
        Parameters:
        dataObject - the data object to update
      • setIdentifierGetter

        public void setIdentifierGetter​(ValueProvider<V,​Object> identifierGetter)
        Description copied from interface: DataKeyMapper
        Takes identifier getter into use and updates existing mappings
        Specified by:
        setIdentifierGetter in interface DataKeyMapper<V>
        Parameters:
        identifierGetter - has to return a unique key for every bean, and the returned key has to follow general hashCode() and equals() contract, see Object.hashCode() for details.