package com.lateensoft.pathfinder.toolkit.db.dao.table;
import android.content.Context;
import com.google.common.collect.Lists;
import com.lateensoft.pathfinder.toolkit.db.dao.OwnedObject;
import com.lateensoft.pathfinder.toolkit.db.dao.OwnedWeakTableDAO;
import com.lateensoft.pathfinder.toolkit.db.dao.Table;
import org.jetbrains.annotations.Nullable;
import java.util.List;
public abstract class AbstractPartyMembershipDAO<Member> extends OwnedWeakTableDAO<Long, Long, Member> {
public static final String TABLE = "PartyMembership";
protected static final String PARTY_ID = "party_id";
protected static final String CHARACTER_ID = "character_id";
public AbstractPartyMembershipDAO(Context context) {
super(context);
}
@Override
protected Table initTable() {
return new Table(TABLE, PARTY_ID, CHARACTER_ID);
}
@Override
protected String getOwnerIdSelector(Long partyId) {
return PARTY_ID + "=" + partyId;
}
@Override
protected String getIdSelector(OwnedObject<Long, Long> rowId) {
return andSelectors(getOwnerIdSelector(rowId.getOwnerId()),
TABLE + "." + CHARACTER_ID + "=" + rowId.getObject());
}
}