@Shareable @DefaultProvider(value=RatingSnapshotDAO.Builder.class) public class RatingSnapshotDAO extends Object implements EventDAO, UserEventDAO, ItemEventDAO, UserDAO, ItemDAO, Serializable
BinaryRatingDAO
.Modifier and Type | Class and Description |
---|---|
static class |
RatingSnapshotDAO.Builder |
Modifier and Type | Method and Description |
---|---|
List<Event> |
getEventsForItem(long item)
Get the events for a specific item.
|
<E extends Event> |
getEventsForItem(long item,
Class<E> type)
Get the events for a specific item, filtering by type.
|
UserHistory<Event> |
getEventsForUser(long user)
Get the events for a specific user.
|
<E extends Event> |
getEventsForUser(long user,
Class<E> type)
Get the events for a specific user, filtering by type.
|
LongSet |
getItemIds()
Get all known item IDs.
|
LongSet |
getUserIds()
Get all known user IDs.
|
LongSet |
getUsersForItem(long item)
Get the users who have interacted with an item.
|
Cursor<Event> |
streamEvents()
Stream all events.
|
<E extends Event> |
streamEvents(Class<E> type)
Stream all events of a given type.
|
<E extends Event> |
streamEvents(Class<E> type,
SortOrder order)
Stream all events of a given type in a specified order.
|
Cursor<ItemEventCollection<Event>> |
streamEventsByItem()
Stream events grouped by item.
|
<E extends Event> |
streamEventsByItem(Class<E> type)
Stream events grouped by item.
|
Cursor<UserHistory<Event>> |
streamEventsByUser()
Stream events grouped by user.
|
<E extends Event> |
streamEventsByUser(Class<E> type)
Stream events grouped by user.
|
public Cursor<Event> streamEvents()
EventDAO
streamEvents
in interface EventDAO
public <E extends Event> Cursor<E> streamEvents(Class<E> type)
EventDAO
streamEvents
in interface EventDAO
type
- The event type.public <E extends Event> Cursor<E> streamEvents(Class<E> type, SortOrder order)
EventDAO
streamEvents
in interface EventDAO
type
- The event type.order
- The order.public LongSet getItemIds()
ItemDAO
getItemIds
in interface ItemDAO
public Cursor<ItemEventCollection<Event>> streamEventsByItem()
ItemEventDAO
streamEventsByItem
in interface ItemEventDAO
public <E extends Event> Cursor<ItemEventCollection<E>> streamEventsByItem(Class<E> type)
ItemEventDAO
streamEventsByItem
in interface ItemEventDAO
type
- The type of item to look for.type
from all items. If an item
exists but does not have any events, it may or may not be included depending on the
DAO implementation.public List<Event> getEventsForItem(long item)
ItemEventDAO
getEventsForItem
in interface ItemEventDAO
item
- The item ID.null
if the item is unknown.@Nullable public <E extends Event> List<E> getEventsForItem(long item, Class<E> type)
ItemEventDAO
getEventsForItem
in interface ItemEventDAO
item
- The item ID.type
- The type of events to retrieve.null
if the item is unknown.@Nullable public LongSet getUsersForItem(long item)
ItemEventDAO
getUsersForItem
in interface ItemEventDAO
item
- The item ID.null
if the item
is unknown.public LongSet getUserIds()
UserDAO
getUserIds
in interface UserDAO
public Cursor<UserHistory<Event>> streamEventsByUser()
UserEventDAO
streamEventsByUser
in interface UserEventDAO
public <E extends Event> Cursor<UserHistory<E>> streamEventsByUser(Class<E> type)
UserEventDAO
streamEventsByUser
in interface UserEventDAO
type
- The type of item to look for.type
. If a
user exists, but does not have any history, they may or may not be included depending
on the DAO implementation.@Nullable public UserHistory<Event> getEventsForUser(long user)
UserEventDAO
getEventsForUser
in interface UserEventDAO
user
- The user ID.null
if the user is unknown.@Nullable public <E extends Event> UserHistory<E> getEventsForUser(long user, Class<E> type)
UserEventDAO
getEventsForUser
in interface UserEventDAO
user
- The user ID.type
- The type of events to retrieve.null
if the user is unknown.