package hirondelle.fish.translate.basetext;
import java.util.*;
import hirondelle.web4j.model.Id;
import hirondelle.web4j.database.DAOException;
import hirondelle.web4j.database.Db;
import hirondelle.web4j.database.DuplicateException;
import hirondelle.web4j.util.Util;
public final class BaseTextDAO {
List<BaseText> list() throws DAOException {
return Db.list(BaseText.class, BaseTextAction.BASE_TEXT_LIST);
}
Id add(BaseText aBaseText) throws DAOException, DuplicateException {
return Db.add(BaseTextAction.BASE_TEXT_ADD, baseParamsFrom(aBaseText));
}
public BaseText fetch(Id aId) throws DAOException {
return Db.fetch(BaseText.class, BaseTextAction.BASE_TEXT_FETCH, aId);
}
boolean change(BaseText aBaseText) throws DAOException, DuplicateException {
Object[] params = Db.addIdTo(baseParamsFrom(aBaseText), aBaseText.getId());
return Util.isSuccess(Db.edit(BaseTextAction.BASE_TEXT_CHANGE, params));
}
void delete(Id aId) throws DAOException {
Db.delete(BaseTextAction.BASE_TEXT_DELETE, aId);
}
private Object[] baseParamsFrom(BaseText aBaseText){
return new Object[]{aBaseText.getBaseText(), aBaseText.getIsCoderKey()};
}
}