|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.planetj.taste.impl.model.GenericDataModel
public final class GenericDataModel
A simple DataModel which uses a given List of Users as
its data source. This implementation is mostly useful for small experiments and is not
recommended for contexts where performance is important.
| Constructor Summary | |
|---|---|
GenericDataModel(DataModel dataModel)
Creates a new GenericDataModel containing an immutable copy of the data from another
given DataModel. |
|
GenericDataModel(java.lang.Iterable<? extends User> users)
Creates a new GenericDataModel from the given Users (and their preferences). |
|
| Method Summary | |
|---|---|
Item |
getItem(java.lang.Object id)
|
java.lang.Iterable<? extends Item> |
getItems()
|
int |
getNumItems()
|
int |
getNumUsers()
|
java.lang.Iterable<? extends Preference> |
getPreferencesForItem(java.lang.Object itemID)
|
Preference[] |
getPreferencesForItemAsArray(java.lang.Object itemID)
|
User |
getUser(java.lang.Object id)
|
java.lang.Iterable<? extends User> |
getUsers()
|
void |
refresh()
Triggers "refresh" -- whatever that means -- of the implementation. |
void |
removePreference(java.lang.Object userID,
java.lang.Object itemID)
Removes a particular preference for a user. |
void |
setPreference(java.lang.Object userID,
java.lang.Object itemID,
double value)
Sets a particular preference (item plus rating) for a user. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public GenericDataModel(java.lang.Iterable<? extends User> users)
Creates a new GenericDataModel from the given Users (and their preferences).
This DataModel retains all this information in memory and is effectively immutable.
users - Users to include in this GenericDataModel
public GenericDataModel(DataModel dataModel)
throws TasteException
Creates a new GenericDataModel containing an immutable copy of the data from another
given DataModel.
dataModel - DataModel to copy
TasteException - if an error occurs while retrieving the other DataModel's users| Method Detail |
|---|
@NotNull public java.lang.Iterable<? extends User> getUsers()
getUsers in interface DataModelList of all Users in the model, ordered by User@NotNull public User getUser(java.lang.Object id)
getUser in interface DataModelid - user ID
User who has that ID
java.util.NoSuchElementException - if there is no such User@NotNull public java.lang.Iterable<? extends Item> getItems()
getItems in interface DataModelList of all Items in the model, order by Item@NotNull public Item getItem(java.lang.Object id)
getItem in interface DataModelid - item ID
Item that has that ID
java.util.NoSuchElementException - if there is no such Item@NotNull public java.lang.Iterable<? extends Preference> getPreferencesForItem(java.lang.Object itemID)
getPreferencesForItem in interface DataModelitemID - item ID
Preferences expressed for that item, ordered by User@NotNull public Preference[] getPreferencesForItemAsArray(java.lang.Object itemID)
getPreferencesForItemAsArray in interface DataModelitemID - item ID
Preferences expressed for that item, ordered by User,
as an arraypublic int getNumItems()
getNumItems in interface DataModelItems known to the model. This is generally the union
of all Items preferred by at least one User but could include more.public int getNumUsers()
getNumUsers in interface DataModelUsers known to the model.
public void setPreference(java.lang.Object userID,
java.lang.Object itemID,
double value)
DataModelSets a particular preference (item plus rating) for a user.
setPreference in interface DataModeluserID - user to set preference foritemID - item to set preference forvalue - preference value
java.lang.UnsupportedOperationException
public void removePreference(java.lang.Object userID,
java.lang.Object itemID)
DataModelRemoves a particular preference for a user.
removePreference in interface DataModeluserID - user from which to remove preferenceitemID - item to remove preference for
java.lang.UnsupportedOperationExceptionpublic void refresh()
Triggers "refresh" -- whatever that means -- of the implementation. The general contract is that
any Refreshable should always leave itself in a consistent, operational state, and that
the refresh atomically updates internal state from old to new.
refresh in interface Refreshable@NotNull public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||