PackedRatingData.IndirectEntry ip = data.getEntry(-1); for (int i = 0; i < 10000; i++) { ip.setIndex(i); assertTrue(ip.isValid()); assertThat(ip, samePreferenceAs(prefs[i])); assertThat(ip.getUserIndex(), equalTo(data.getUserIndex().getIndex(prefs[i].getUserId()))); assertThat(ip.getItemIndex(), equalTo(data.getItemIndex().getIndex(prefs[i].getItemId())));
@Override public long getUserId() { return userIndex.getKey(getUserIndex()); }
@Override public long getItemId() { return itemIndex.getKey(getItemIndex()); }
private void requireValid() { if (!isValid()) { throw new IllegalStateException("indirect preference not at valid index"); } }
/** * Get an indirect preference pointed at the specified index. * * @param index An index in the data pack. * @return A preference pointing at the index. This does no checking to make sure that * the preference is valid. */ public IndirectEntry getEntry(int index) { return new IndirectEntry(index); }
@Override public long getUserId() { return userIndex.getKey(getUserIndex()); }
@Override public long getItemId() { return itemIndex.getKey(getItemIndex()); }
private void requireValid() { if (!isValid()) { throw new IllegalStateException("indirect preference not at valid index"); } }
/** * Get an indirect preference pointed at the specified index. * * @param index An index in the data pack. * @return A preference pointing at the index. This does no checking to make sure that * the preference is valid. */ public IndirectEntry getEntry(int index) { return new IndirectEntry(index); }