package core;
import java.util.List;
import de.skuzzle.polly.sdk.PersistenceManagerV2;
import de.skuzzle.polly.sdk.PersistenceManagerV2.Atomic;
import de.skuzzle.polly.sdk.PersistenceManagerV2.Param;
import de.skuzzle.polly.sdk.PersistenceManagerV2.Write;
import de.skuzzle.polly.sdk.exceptions.DatabaseException;
import entities.RemindEntity;
public class RemindDBWrapperImpl implements RemindDBWrapper {
private PersistenceManagerV2 persistence;
public RemindDBWrapperImpl(PersistenceManagerV2 persistence) {
this.persistence = persistence;
}
@Override
public void deleteRemind(final RemindEntity remind) throws DatabaseException {
this.persistence.writeAtomic(new Atomic() {
@Override
public void perform(Write write) {
write.remove(remind);
}
});
}
@Override
public void addRemind(final RemindEntity remind) throws DatabaseException {
this.persistence.writeAtomic(new Atomic() {
@Override
public void perform(Write write) {
write.single(remind);
}
});
}
@Override
public RemindEntity getRemind(int id) {
return this.persistence.atomic().find(RemindEntity.class, id);
}
@Override
public List<RemindEntity> getAllReminds() {
return this.persistence.atomic().findList(RemindEntity.class,
RemindEntity.ALL_REMINDS);
}
@Override
public List<RemindEntity> getRemindsForUser(String forUser) {
return this.persistence.atomic().findList(
RemindEntity.class, RemindEntity.REMIND_FOR_USER, new Param(forUser));
}
@Override
public List<RemindEntity> getMyRemindsForUser(String nickName) {
return this.persistence.atomic().findList(
RemindEntity.class, RemindEntity.MY_REMIND_FOR_USER, new Param(nickName));
}
@Override
public List<RemindEntity> getUndeliveredReminds(String forUser) {
return this.persistence.atomic().findList(RemindEntity.class,
RemindEntity.UNDELIVERED_FOR_USER,
new Param(forUser));
}
}