Package rocks.xmpp.extensions.rsm
Interface ResultSetProvider<T extends ResultSetItem>
-
public interface ResultSetProvider<T extends ResultSetItem>
Provides methods which are needed for result set management.- See Also:
- XEP-0059: Result Set Management
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description static <T extends ResultSetItem>
ResultSetProvider<T>combine(Iterable<ResultSetProvider<T>> resultSetProviders)
Combines multiple result set providers into one.static <T extends ResultSetItem>
ResultSetProvider<T>forItems(Collection<T> items)
Creates aCollection
-based result set provider.int
getItemCount()
Gets the total item count.List<T>
getItems()
Gets all items.List<T>
getItems(int index, int maxSize)
Gets the items in a specific range (by index).List<T>
getItemsAfter(String itemId, int maxSize)
Gets the items after a specific item, which is determined by an item id.List<T>
getItemsBefore(String itemId, int maxSize)
Gets the items before a specific item, which is determined by an item id.int
indexOf(String itemId)
Gets the index of a specific item.
-
-
-
Method Detail
-
getItemCount
int getItemCount()
Gets the total item count.- Returns:
- The item count.
-
getItems
List<T> getItems()
Gets all items. This method is called, if no result set management was included in the query.- Returns:
- The items.
-
getItems
List<T> getItems(int index, int maxSize)
Gets the items in a specific range (by index).- Parameters:
index
- The index.maxSize
- The maximal size of items.- Returns:
- The items.
-
getItemsAfter
List<T> getItemsAfter(String itemId, int maxSize)
Gets the items after a specific item, which is determined by an item id.- Parameters:
itemId
- The item id.maxSize
- The maximal size of items.- Returns:
- The items.
-
getItemsBefore
List<T> getItemsBefore(String itemId, int maxSize)
Gets the items before a specific item, which is determined by an item id.- Parameters:
itemId
- The item id.maxSize
- The maximal size of items.- Returns:
- The items.
-
indexOf
int indexOf(String itemId)
Gets the index of a specific item.- Parameters:
itemId
- The item id.- Returns:
- The index or -1, if no index could be determined.
-
forItems
static <T extends ResultSetItem> ResultSetProvider<T> forItems(Collection<T> items)
Creates aCollection
-based result set provider.It is highly recommended that the provided list is thread-safe, e.g. by using
Collections.synchronizedList(List)
} or a concurrent collection. Otherwise modifications on the list, while reading a sub list (getItems(int, int)
) may produceConcurrentModificationException
.- Type Parameters:
T
- The result set item.- Parameters:
items
- The items.- Returns:
- The result set provider.
- Since:
- 0.8.0
-
combine
static <T extends ResultSetItem> ResultSetProvider<T> combine(Iterable<ResultSetProvider<T>> resultSetProviders)
Combines multiple result set providers into one.- Type Parameters:
T
- The result set item.- Parameters:
resultSetProviders
- The result set providers to combine.- Returns:
- The combined result set provider.
- Since:
- 0.9.0
-
-