Package com.tangosol.util
Class ConverterCollections
java.lang.Object
com.tangosol.util.ConverterCollections
A collection of Collection implementation classes that use the Converter
interface to convert the items stored in underlying collection objects.
- Author:
- cp 2002.02.08, jh 2007.09.28
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected static class
An abstract Map Entry that lazily converts the key and value.static class
A ConfigurableCacheMap.Entry that lazily converts the key and value.static class
A Converter CacheEvent views an underlying CacheEvent through a set of key and value Converters.static class
A converter MapListener that converts events of the underlying MapListener for the underlying NamedCache.static class
A Converter CacheMap views an underlying CacheMap through a set of key and value Converters.static class
A Converter Collection views an underlying Collection through a Converter.static class
A Comparator that Converts the elements before comparing them.static class
A Converter ConcurrentMap views an underlying ConcurrentMap through a set of key and value Converters.static class
A Map Entry that lazily converts the key and value.static class
A Converter Entry Set views an underlying Entry Set through a set of key and value Converters.static class
Provide an implementation of an enumerator which converts each of the items which it enumerates.static class
A Holder that converts the element before returning them.static class
A Converter InvocableMap views an underlying InvocableMap through a set of key and value Converters.static class
A Converter List views an underlying List through a Converter.static class
A Converter ListIterator views an underlying ListIterator through a Converter.static class
ConverterLongArray converts the value of the LongArray from its raw form (typeF
) to the desired from (typeT
).static class
A Converter Map views an underlying Map through a set of key and value Converters.static class
A ConverterMapEvent views an underlying MapEvent through a set of key and value Converters.static class
A converter MapListener that converts events of the underlying MapListener for the underlying map.static class
A Converter NamedCache views an underlying NamedCache through a set of key and value Converters.static class
A Converter ObservableMap views an underlying ObservableMap through a set of key and value Converters.static class
A Converter QueryMap views an underlying QueryMap through a set of key and value Converters.static class
A Converter Set views an underlying Set through a Converter.static class
A Converter SortedMap views an underlying SortedMap through a set of key and value Converters.static class
A Converter SortedSet views an underlying SortedSet through a Converter. -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic <F,
I, T> Converter <F, T> Create a new converter by combining two existing converters.static Object[]
convertArray
(Object[] ao, Converter conv) Convert the contents of the passed array.static Object[]
convertArray
(Object[] aoSrc, Converter conv, Object[] aoDest) Convert the contents of the passed source array into an array with the component type of the passed destination array, using the destination array itself if it is large enough, and placing a null in the first unused element of the destination array if it is larger than the source array.static <FK,
TK, FV, TV>
CacheMap<TK, TV> getCacheMap
(CacheMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of CacheMap.static <F,
T> ConverterCollections.ConverterCollection <F, T> getCollection
(Collection<F> col, Converter<F, T> convUp, Converter<T, F> convDown) Returns an instance of Collection that uses a Converter to view an underlying Collection.static <FK,
TK, FV, TV>
ConcurrentMap<TK, TV> getConcurrentMap
(ConcurrentMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of ConcurrentMap.static <F,
T> ConverterCollections.ConverterHolder <F, T> getConverterHolder
(F value, Converter<F, T> convUp) Returns a Converter instance of Holder..static <FK,
TK, FV, TV>
ConverterCollections.ConverterEntry<FK, TK, FV, TV> getEntry
(Map.Entry<FK, FV> entry, Converter<FK, TK> convKeyUp, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns an instance of a MapEntry that uses Converters to retrieve the Entry's data.static <FK,
TK, FV, TV>
ConverterCollections.ConverterEntrySet<FK, TK, FV, TV> getEntrySet
(Collection<Map.Entry<FK, FV>> set, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of a Set that holds Entry objects for a ConverterMap.static <FK,
TK, FV, TV>
InvocableMap<TK, TV> getInvocableMap
(InvocableMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of InvocableMap.static <F,
T> Iterator <T> getIterator
(Iterator<F> iter, Converter<F, T> conv) Returns an instance of Iterator that uses a Converter to view an underlying Iterator.static <F,
T> ConverterCollections.ConverterList <F, T> Returns a Converter instance of List.static <F,
T> ConverterCollections.ConverterListIterator <F, T> getListIterator
(ListIterator<F> iter, Converter<F, T> convUp, Converter<T, F> convDown) Returns a Converter instance of ListIterator.static <F,
T> LongArray <T> getLongArray
(LongArray<F> la, Converter<F, T> convUp, Converter<T, F> convDown) Returns a LongArray storing values with typeF
and converting to typeV
as and when required.static <FK,
TK, FV, TV>
ConverterCollections.ConverterMap<FK, TK, FV, TV> getMap
(Map<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of Map.static MapEvent
getMapEvent
(ObservableMap map, MapEvent event, Converter convKey, Converter convVal) Returns an instance of a MapEvent that uses Converters to retrieve the event's data.static MapEvent
getMapEvent
(ObservableMap map, MapEvent event, Converter convKey, Converter convVal, BackingMapManagerContext context) Returns an instance of a MapEvent that uses Converters to retrieve the event's data, and additionally provides access to the BackingMapManagerContext.static MapListener
getMapListener
(ObservableMap map, MapListener listener, Converter convKey, Converter convVal) Returns a converter listener for the specified listener and Converters.static <FK,
FV, TK, TV>
NamedCache<TK, TV> getNamedCache
(NamedCache<FK, FV> cache, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of NamedCache that converts between the raw/from types to the desired/to types.static <FK,
TK, FV, TV>
ObservableMap<TK, TV> getObservableMap
(ObservableMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of ObservableMap.static <FK,
TK, FV, TV>
QueryMap<TK, TV> getQueryMap
(QueryMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of QueryMap.static <F,
T> ConverterCollections.ConverterSet <F, T> Returns an instance of Set that uses a Converter to view an underlying Set.static <FK,
TK, FV, TV>
ConverterCollections.ConverterSortedMap<FK, TK, FV, TV> getSortedMap
(SortedMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of SortedMap.static <F,
T> ConverterCollections.ConverterSortedSet <F, T> getSortedSet
(SortedSet<F> set, Converter<F, T> convUp, Converter<T, F> convDown) Returns an instance of SortedSet that uses a Converter to view an underlying SortedSet.
-
Constructor Details
-
ConverterCollections
public ConverterCollections()
-
-
Method Details
-
getIterator
Returns an instance of Iterator that uses a Converter to view an underlying Iterator.- Type Parameters:
F
- the type of elements in the underlying IteratorT
- the type that the elements should be converted to- Parameters:
iter
- the underlying Iteratorconv
- the Converter to view the underlying Iterator through- Returns:
- an Iterator that views the passed Iterator through the specified Converter
-
getCollection
public static <F,T> ConverterCollections.ConverterCollection<F,T> getCollection(Collection<F> col, Converter<F, T> convUp, Converter<T, F> convDown) Returns an instance of Collection that uses a Converter to view an underlying Collection.- Type Parameters:
F
- the type of elements in the underlying CollectionT
- the type that the elements should be converted to- Parameters:
col
- the underlying CollectionconvUp
- the Converter to view the underlying Collection throughconvDown
- the Converter to pass items down to the underlying Collection through- Returns:
- a Collection that views the passed Collection through the specified Converter
-
getSet
public static <F,T> ConverterCollections.ConverterSet<F,T> getSet(Set<F> set, Converter<F, T> convUp, Converter<T, F> convDown) Returns an instance of Set that uses a Converter to view an underlying Set.- Type Parameters:
F
- the type of elements in the underlying SetT
- the type that the elements should be converted to- Parameters:
set
- the underlying SetconvUp
- the Converter to view the underlying Set throughconvDown
- the Converter to pass items down to the underlying Set through- Returns:
- a Set that views the passed Set through the specified Converter
-
getSortedSet
public static <F,T> ConverterCollections.ConverterSortedSet<F,T> getSortedSet(SortedSet<F> set, Converter<F, T> convUp, Converter<T, F> convDown) Returns an instance of SortedSet that uses a Converter to view an underlying SortedSet.- Type Parameters:
F
- the type of elements in the underlying SortedSetT
- the type that the elements should be converted to- Parameters:
set
- the underlying SortedSetconvUp
- the Converter to view the underlying SortedSet throughconvDown
- the Converter to pass items down to the underlying SortedSet through- Returns:
- a SortedSet that views the passed SortedSet through the specified Converter
-
getList
public static <F,T> ConverterCollections.ConverterList<F,T> getList(List<F> list, Converter<F, T> convUp, Converter<T, F> convDown) Returns a Converter instance of List.- Type Parameters:
F
- the type of elements in the underlying listT
- the type that the elements should be converted to- Parameters:
list
- the underlying ListconvUp
- the Converter to view the underlying List throughconvDown
- the Converter to pass items down to the underlying List through- Returns:
- a List that views the passed List through the specified Converter
-
getListIterator
public static <F,T> ConverterCollections.ConverterListIterator<F,T> getListIterator(ListIterator<F> iter, Converter<F, T> convUp, Converter<T, F> convDown) Returns a Converter instance of ListIterator.- Type Parameters:
F
- the type of elements in the underlying ListIteratorT
- the type that the elements should be converted to- Parameters:
iter
- the underlying ListIteratorconvUp
- the Converter to view the underlying list throughconvDown
- the Converter to pass items down to the underlying ListIterator through- Returns:
- a ListIterator that views the passed ListIterator through the specified Converter
-
getMap
public static <FK,TK, ConverterCollections.ConverterMap<FK,FV, TV> TK, getMapFV, TV> (Map<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of Map.- Type Parameters:
FK
- the type of the keys in the underlying MapTK
- the type that the keys should be converted toFV
- the type of the values in the underlying MapTV
- the type that the values should be converted to- Parameters:
map
- the underlying MapconvKeyUp
- the Converter to view the underlying Map's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying MapconvValUp
- the Converter to view the underlying Map's values throughconvValDown
- the Converter to use to pass values down to the underlying Map- Returns:
- a Map that views the keys and values of the passed Map through the specified Converters
-
getSortedMap
public static <FK,TK, ConverterCollections.ConverterSortedMap<FK,FV, TV> TK, getSortedMapFV, TV> (SortedMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of SortedMap.- Type Parameters:
FK
- the type of the keys in the underlying SortedMapTK
- the type that the keys should be converted toFV
- the type of the values in the underlying SortedMapTV
- the type that the values should be converted to- Parameters:
map
- the underlying SortedMapconvKeyUp
- the Converter to view the underlying SortedMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying SortedMapconvValUp
- the Converter to view the underlying SortedMap's values throughconvValDown
- the Converter to use to pass values down to the underlying SortedMap- Returns:
- a SortedMap that views the keys and values of the passed SortedMap through the specified Converters
-
getEntrySet
public static <FK,TK, ConverterCollections.ConverterEntrySet<FK,FV, TV> TK, getEntrySetFV, TV> (Collection<Map.Entry<FK, FV>> set, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of a Set that holds Entry objects for a ConverterMap.- Type Parameters:
FK
- the type of the keys in the underlying EntrySetTK
- the type that the keys should be converted toFV
- the type of the values in the underlying EntrySetTV
- the type that the values should be converted to- Parameters:
set
- the underlying Entry Set (or Collection of Map Entry objects)convKeyUp
- the Converter to view the underlying Entry Set's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying Entry SetconvValUp
- the Converter to view the underlying Entry Set's values throughconvValDown
- the Converter to use to pass values down to the underlying Entry Set- Returns:
- a Converter Set that views the keys and values of the underlying Set's Map.Entry objects through the specified key and value Converters
-
getEntry
public static <FK,TK, ConverterCollections.ConverterEntry<FK,FV, TV> TK, getEntryFV, TV> (Map.Entry<FK, FV> entry, Converter<FK, TK> convKeyUp, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns an instance of a MapEntry that uses Converters to retrieve the Entry's data.- Type Parameters:
FK
- the type of the keys in the underlying EntryTK
- the type that the keys should be converted toFV
- the type of the values in the underlying EntryTV
- the type that the values should be converted to- Parameters:
entry
- the underlying EntryconvKeyUp
- the Converter to view the underlying Entry's keyconvValUp
- the Converter to view the underlying Entry's valueconvValDown
- the Converter to change the underlying Entry's value- Returns:
- a ConverterEntry that converts the passed entry data using the specified Converters
-
getConverterHolder
public static <F,T> ConverterCollections.ConverterHolder<F,T> getConverterHolder(F value, Converter<F, T> convUp) Returns a Converter instance of Holder..- Type Parameters:
F
- the type of the underlying valueT
- the type of the converted value- Parameters:
value
- the underlying valueconvUp
- the Converter to view the underlying value- Returns:
- a ConverterHolder that converts the passed value using the specified Converter.
-
getLongArray
public static <F,T> LongArray<T> getLongArray(LongArray<F> la, Converter<F, T> convUp, Converter<T, F> convDown) Returns a LongArray storing values with typeF
and converting to typeV
as and when required.- Type Parameters:
F
- the raw typeT
- the desired type- Parameters:
la
- the LongArray with raw typesconvUp
- a Converter to convert to the desired typeconvDown
- a Converter to convert to the raw type- Returns:
- a LongArray storing values in a raw type and converting to the desired type
-
getConcurrentMap
public static <FK,TK, ConcurrentMap<TK,FV, TV> TV> getConcurrentMap(ConcurrentMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of ConcurrentMap.- Parameters:
map
- the underlying ConcurrentMapconvKeyUp
- the Converter to view the underlying ConcurrentMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying ConcurrentMapconvValUp
- the Converter to view the underlying ConcurrentMap's values throughconvValDown
- the Converter to use to pass values down to the underlying ConcurrentMap- Returns:
- a ConcurrentMap that views the keys and values of the passed ConcurrentMap through the specified Converters
-
getInvocableMap
public static <FK,TK, InvocableMap<TK,FV, TV> TV> getInvocableMap(InvocableMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of InvocableMap.- Parameters:
map
- the underlying InvocableMapconvKeyUp
- the Converter to view the underlying InvocableMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying InvocableMapconvValUp
- the Converter to view the underlying InvocableMap's values throughconvValDown
- the Converter to use to pass values down to the underlying InvocableMap- Returns:
- an InvocableMap that views the keys and values of the passed InvocableMap through the specified Converters
-
getObservableMap
public static <FK,TK, ObservableMap<TK,FV, TV> TV> getObservableMap(ObservableMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of ObservableMap.- Parameters:
map
- the underlying ObservableMapconvKeyUp
- the Converter to view the underlying ObservableMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying ObservableMapconvValUp
- the Converter to view the underlying ObservableMap's values throughconvValDown
- the Converter to use to pass values down to the underlying ObservableMap- Returns:
- an ObservableMap that views the keys and values of the passed ObservableMap through the specified Converters
-
getQueryMap
public static <FK,TK, QueryMap<TK,FV, TV> TV> getQueryMap(QueryMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of QueryMap.- Parameters:
map
- the underlying QueryMapconvKeyUp
- the Converter to view the underlying QueryMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying QueryMapconvValUp
- the Converter to view the underlying QueryMap's values throughconvValDown
- the Converter to use to pass values down to the underlying QueryMap- Returns:
- a QueryMap that views the keys and values of the passed QueryMap through the specified Converters
-
getCacheMap
public static <FK,TK, CacheMap<TK,FV, TV> TV> getCacheMap(CacheMap<FK, FV> map, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of CacheMap.- Parameters:
map
- the underlying CacheMapconvKeyUp
- the Converter to view the underlying CacheMap's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying CacheMapconvValUp
- the Converter to view the underlying CacheMap's values throughconvValDown
- the Converter to use to pass values down to the underlying CacheMap- Returns:
- a CacheMap that views the keys and values of the passed CacheMap through the specified Converters
-
getNamedCache
public static <FK,FV, NamedCache<TK,TK, TV> TV> getNamedCache(NamedCache<FK, FV> cache, Converter<FK, TK> convKeyUp, Converter<TK, FK> convKeyDown, Converter<FV, TV> convValUp, Converter<TV, FV> convValDown) Returns a Converter instance of NamedCache that converts between the raw/from types to the desired/to types.There is a strong disclaimer in the use of this implementation:
This conversion is entirely performed locally and therefore when using methods such as
invoke
, oraggregate
, orentrySet(Filter)
, the provided agent (EntryProcessor
, orEntryAggregator
, orFilter
) do not go through the provided converters. Hence the given agent(s) must operate against the raw types.Streams are not supported.
- Parameters:
cache
- the underlying NamedCacheconvKeyUp
- the Converter to view the underlying NamedCache's keys throughconvKeyDown
- the Converter to use to pass keys down to the underlying NamedCacheconvValUp
- the Converter to view the underlying NamedCache's values throughconvValDown
- the Converter to use to pass values down to the underlying NamedCache- Returns:
- a NamedCache that views the keys and values of the passed NamedCache through the specified Converters
-
getMapEvent
public static MapEvent getMapEvent(ObservableMap map, MapEvent event, Converter convKey, Converter convVal) Returns an instance of a MapEvent that uses Converters to retrieve the event's data.- Parameters:
map
- the new event's sourceevent
- the underlying MapEventconvKey
- the Converter to view the underlying MapEvent's keyconvVal
- the Converter to view the underlying MapEvent's values- Returns:
- a MapEvent that converts the passed event data using the specified Converter
-
getMapEvent
public static MapEvent getMapEvent(ObservableMap map, MapEvent event, Converter convKey, Converter convVal, BackingMapManagerContext context) Returns an instance of a MapEvent that uses Converters to retrieve the event's data, and additionally provides access to the BackingMapManagerContext.- Parameters:
map
- the new event's sourceevent
- the underlying MapEventconvKey
- the Converter to view the underlying MapEvent's keyconvVal
- the Converter to view the underlying MapEvent's valuescontext
- the BackingMapManagerContext used to deserialize the underlying values- Returns:
- a MapEvent that converts the passed event data using the specified Converters
-
getMapListener
public static MapListener getMapListener(ObservableMap map, MapListener listener, Converter convKey, Converter convVal) Returns a converter listener for the specified listener and Converters.- Parameters:
map
- the Map that should be the source for converted eventslistener
- the underlying MapListenerconvKey
- the Converter to view the underlying MapEvent's keyconvVal
- the Converter to view the underlying MapEvent's values- Returns:
- the converting listener
-
convertArray
Convert the contents of the passed array. The conversion is done "in place" in the passed array.This helper method is intended to support the functionality of Collection.toArray.
- Parameters:
ao
- an array of Objects to convertconv
- the Converter to use to convert the objects- Returns:
- the passed array
-
convertArray
Convert the contents of the passed source array into an array with the component type of the passed destination array, using the destination array itself if it is large enough, and placing a null in the first unused element of the destination array if it is larger than the source array.This helper method is intended to support the functionality of Collection.toArray.
- Parameters:
aoSrc
- an array of Objects to convertconv
- the Converter to use to convert the objectsaoDest
- the array to use to place the converted objects in if large enough, otherwise the array from which to obtain the component type to create a new array that is large enough- Returns:
- an array whose component type is the same as the passed destination array and whose contents are the converted objects
-
combine
public static <F,I, Converter<F,T> T> combine(Converter<F, I> converter1, Converter<I, T> converter2) Create a new converter by combining two existing converters.- Type Parameters:
F
- the "from" type for the first converterI
- the "to" type for the first converter and the "from" type for the secondT
- the "to" type for the second converter- Parameters:
converter1
- the first converterconverter2
- the second converter- Returns:
- a combining converter that applies the converters sequentially
-