Class ListModelMap<K,V>
- java.lang.Object
-
- org.zkoss.zul.AbstractListModel<java.util.Map.Entry<K,V>>
-
- org.zkoss.zul.ListModelMap<K,V>
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map<K,V>
,Pageable
,Selectable<java.util.Map.Entry<K,V>>
,Sortable<java.util.Map.Entry<K,V>>
,ListModel<java.util.Map.Entry<K,V>>
,PageableModel
- Direct Known Subclasses:
ListModelMapProxy
public class ListModelMap<K,V> extends AbstractListModel<java.util.Map.Entry<K,V>> implements Sortable<java.util.Map.Entry<K,V>>, java.util.Map<K,V>, java.io.Serializable
This is the
ListModel
as aMap
to be used withListbox
. Add or remove the contents of this model as a List would cause the associated Listbox to change accordingly.- Author:
- Henri Chen
- See Also:
ListModel
,ListModelList
,ListModelMap
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.zkoss.zul.AbstractListModel
AbstractListModel.DefaultSelectionControl<E>
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<K,V>
_map
-
Fields inherited from class org.zkoss.zul.AbstractListModel
_selection
-
Fields inherited from interface org.zkoss.zul.PageableModel
INTERNAL_EVENT
-
-
Constructor Summary
Constructors Constructor Description ListModelMap()
Constructor.ListModelMap(int initialCapacity)
Constructor.ListModelMap(int initialCapacity, float loadFactor)
Constructor.ListModelMap(java.util.Map<? extends K,? extends V> map)
Constructor.ListModelMap(java.util.Map<K,V> map, boolean live)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
java.lang.Object
clone()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<K,V>>
entrySet()
boolean
equals(java.lang.Object o)
protected void
fireSelectionEvent(java.util.Map.Entry<K,V> e)
Selectable's implementor use only.V
get(java.lang.Object key)
java.util.Map.Entry<K,V>
getElementAt(int j)
Returns the entry (Map.Entry) at the specified index.java.util.Map<K,V>
getInnerMap()
Get the inner real Map.int
getSize()
Returns the length of the list.java.lang.String
getSortDirection(java.util.Comparator<java.util.Map.Entry<K,V>> cmpr)
Returns the sort direction of this model for the given comparator.int
hashCode()
int
indexOf(java.lang.Object o)
Returns the index of the specified object based on the entry (Map.Entry).int
indexOfKey(java.lang.Object o)
Returns the index of the specified object based on the key.boolean
isEmpty()
java.util.Set<K>
keySet()
V
put(K key, V o)
void
putAll(java.util.Map<? extends K,? extends V> c)
protected void
readSelection(java.io.ObjectInputStream s)
Reads backAbstractListModel._selection
.V
remove(java.lang.Object key)
int
size()
void
sort()
Sort the data model by default or assigned comparator.void
sort(java.util.Comparator<java.util.Map.Entry<K,V>> cmpr, boolean ascending)
Sorts the data.java.lang.String
toString()
java.util.Collection<V>
values()
protected void
writeSelection(java.io.ObjectOutputStream s)
WritesAbstractListModel._selection
.-
Methods inherited from class org.zkoss.zul.AbstractListModel
addListDataListener, addPagingEventListener, addToSelection, clearSelection, fireEvent, getActivePage, getListDataListeners, getPageCount, getPageSize, getSelection, getSelectionControl, getTotalSize, isMultiple, isSelected, isSelectionEmpty, newEmptySelection, removeAllSelection, removeFromSelection, removeListDataListener, removePagingEventListener, retainAllSelection, setActivePage, setMultiple, setPageSize, setSelection, setSelectionControl
-
-
-
-
Constructor Detail
-
ListModelMap
public ListModelMap(java.util.Map<K,V> map, boolean live)
Constructor.- Parameters:
map
- the map to representlive
- whether to have a 'live'ListModel
on top of the specified map. If false, the content of the specified map is copied. If true, this object is a 'facade' of the specified map, i.e., when you add or remove items from thisListModelMap
, the inner "live" map would be changed accordingly. However, it is not a good idea to modifymap
if it is passed to this method with live is true, sinceListbox
is not smart enough to handle it. Instead, modify it thru this object.- Since:
- 2.4.0
-
ListModelMap
public ListModelMap()
Constructor.
-
ListModelMap
public ListModelMap(java.util.Map<? extends K,? extends V> map)
Constructor. It makes a copy of the specified map (i.e., not live).Notice that if the data is static or not shared, it is better to use
ListModelMap(map, true)
instead, since making a copy is slower.
-
ListModelMap
public ListModelMap(int initialCapacity)
Constructor.- Parameters:
initialCapacity
- the initial capacity for this ListModelMap.
-
ListModelMap
public ListModelMap(int initialCapacity, float loadFactor)
Constructor.- Parameters:
initialCapacity
- the initial capacity for this ListModelMap.loadFactor
- the loadFactor to increase capacity of this ListModelMap.
-
-
Method Detail
-
getSize
public int getSize()
Description copied from interface:ListModel
Returns the length of the list.
-
getElementAt
public java.util.Map.Entry<K,V> getElementAt(int j)
Returns the entry (Map.Entry) at the specified index.- Specified by:
getElementAt
in interfaceListModel<K>
-
containsKey
public boolean containsKey(java.lang.Object key)
-
containsValue
public boolean containsValue(java.lang.Object value)
-
equals
public boolean equals(java.lang.Object o)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
hashCode
public int hashCode()
-
indexOfKey
public int indexOfKey(java.lang.Object o)
Returns the index of the specified object based on the key.- Parameters:
o
- the key to look for
-
indexOf
public int indexOf(java.lang.Object o)
Returns the index of the specified object based on the entry (Map.Entry).- Parameters:
o
- the object to look for. It must be an instance of Map.Entry.
-
values
public java.util.Collection<V> values()
-
sort
public void sort(java.util.Comparator<java.util.Map.Entry<K,V>> cmpr, boolean ascending)
Sorts the data.
-
sort
public void sort()
Description copied from interface:Sortable
Sort the data model by default or assigned comparator. Notice that the default implementation does nothing, the model which implements Sortable need to implement this method.- Specified by:
sort
in interfaceSortable<K>
- See Also:
Sortable.sort(Comparator, boolean)
-
getSortDirection
public java.lang.String getSortDirection(java.util.Comparator<java.util.Map.Entry<K,V>> cmpr)
Description copied from interface:Sortable
Returns the sort direction of this model for the given comparator. It must be one of "ascending", "descending" and "natural".Default: "natural".
- Specified by:
getSortDirection
in interfaceSortable<K>
-
clone
public java.lang.Object clone()
- Overrides:
clone
in classAbstractListModel<java.util.Map.Entry<K,V>>
-
fireSelectionEvent
protected void fireSelectionEvent(java.util.Map.Entry<K,V> e)
Description copied from class:AbstractListModel
Selectable's implementor use only.Fires a selection event for component to scroll into view. The override subclass must put the index0 of
AbstractListModel.fireEvent(int, int, int)
as the view index to scroll. By default, the value -1 is assumed which means no scroll into view.The method is invoked when both methods are invoked.
AbstractListModel.addToSelection(Object)
andAbstractListModel.setSelection(Collection)
.- Overrides:
fireSelectionEvent
in classAbstractListModel<java.util.Map.Entry<K,V>>
- Parameters:
e
- selected object.
-
writeSelection
protected void writeSelection(java.io.ObjectOutputStream s) throws java.io.IOException
Description copied from class:AbstractListModel
WritesAbstractListModel._selection
.Default: write it directly. Override it if E is not serializable.
- Overrides:
writeSelection
in classAbstractListModel<java.util.Map.Entry<K,V>>
- Throws:
java.io.IOException
-
readSelection
protected void readSelection(java.io.ObjectInputStream s) throws java.io.IOException, java.lang.ClassNotFoundException
Description copied from class:AbstractListModel
Reads backAbstractListModel._selection
.Default: write it directly. Override it if E is not serializable.
- Overrides:
readSelection
in classAbstractListModel<java.util.Map.Entry<K,V>>
- Throws:
java.io.IOException
java.lang.ClassNotFoundException
-
-