/** * */ package xapi.test.model.content; import xapi.model.content.ModelRating; import xapi.model.impl.AbstractModel; import xapi.model.user.ModelUser; /** * @author James X. Nelson (james@wetheinter.net, @james) * */ public class ModelRatingTest extends AbstractModel implements ModelRating { /** * @see xapi.model.content.HasAuthor#getAuthor() */ @Override public ModelUser getAuthor() { return getProperty("author"); } /** * @see xapi.model.content.HasAuthor#setAuthor(xapi.model.user.ModelUser) */ @Override public ModelRating setAuthor(final ModelUser user) { setProperty("author", user); return this; } /** * @see xapi.model.content.ModelRating#getRating() */ @Override public double getRating() { if (map.containsKey("rating")) { final Double d = (Double) map.get("rating"); return d.doubleValue(); } else { return 0; } } /** * @see xapi.model.content.ModelRating#setRating(double) */ @Override public ModelRating setRating(final double rating) { setProperty("rating", rating); return this; } /** * @see xapi.model.impl.AbstractModel#getPropertyNames() */ @Override public String[] getPropertyNames() { return new String[] {"author", "rating"}; } /** * @see xapi.model.impl.AbstractModel#getPropertyType(java.lang.String) */ @Override public Class<?> getPropertyType(final String key) { switch (key) { case "author": return ModelUser.class; case "rating": return double.class; } return super.getPropertyType(key); } }