package com.qubling.sidekick.model; import com.qubling.sidekick.fetch.UpdateFetcher; import com.qubling.sidekick.fetch.cpan.ReleaseDetailsFetcher; import com.qubling.sidekick.fetch.cpan.ReleaseFavoritesUpdateFetcher; import com.qubling.sidekick.fetch.cpan.ReleaseRatingsUpdateFetcher; import com.qubling.sidekick.instance.Release; import com.qubling.sidekick.search.Schema; public class ReleaseModel extends Model<Release> { public ReleaseModel(Schema schema) { super(schema); } protected Release constructInstance(String name) { return new Release(this, name); } public UpdateFetcher<Release> fetchFavorites(String myPrivateToken) { return new ReleaseFavoritesUpdateFetcher(this, myPrivateToken); } public UpdateFetcher<Release> fetchRatings() { return new ReleaseRatingsUpdateFetcher(this); } public UpdateFetcher<Release> fetch() { return new ReleaseDetailsFetcher(this); } @Override public String toString() { return getSchema() + ":ReleaseModel"; } }