/* * Copyright (C) 2016 RankSys http://ranksys.org * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.ranksys.fast.preference; import es.uam.eps.ir.ranksys.fast.index.FastItemIndex; import es.uam.eps.ir.ranksys.fast.index.FastUserIndex; /** * Abstract fast preference sampler, implementing methods from * FastUserIndex and FastItemIndex. * * @author Saúl Vargas (Saul.Vargas@mendeley.com) * @param <U> user type * @param <I> item type */ public abstract class AbstractFastPreferenceSampler<U, I> implements FastPreferenceSampler<U, I> { private final FastUserIndex<U> users; private final FastItemIndex<I> items; /** * Constructor. * * @param users user index * @param items item index */ public AbstractFastPreferenceSampler(FastUserIndex<U> users, FastItemIndex<I> items) { this.users = users; this.items = items; } @Override public int numUsers() { return users.numUsers(); } @Override public int numItems() { return items.numItems(); } @Override public int user2uidx(U u) { return users.user2uidx(u); } @Override public U uidx2user(int uidx) { return users.uidx2user(uidx); } @Override public int item2iidx(I i) { return items.item2iidx(i); } @Override public I iidx2item(int iidx) { return items.iidx2item(iidx); } }