/**
  * Get the list of all rules
  *
  * @return List<Rule>
  */
 public List<Rule> getRules() {
   // Lock it!
   mLock.lock();
   try {
     startTransaction();
     return rulesTable.getAllEntries(localDatabase, Rule.class, rulesTable.getMapper());
   } catch (DBException e) {
     Logger.error(this, "Problems starting transaction");
   } finally {
     endTransaction();
     mLock.unlock();
   }
   return null;
 }
 /**
  * Add a new Rule
  *
  * @param rule
  * @return Rule
  */
 public Rule addRule(final Rule rule) {
   // Lock it!
   mLock.lock();
   try {
     startTransaction();
     long id = rulesTable.insertEntry(localDatabase, rule, rulesTable.getMapper());
     rule.setId(id);
     return rule;
   } catch (DBException e) {
     Logger.error(this, "Problems starting transaction");
   } finally {
     endTransaction();
     mLock.unlock();
   }
   return null;
 }
 public void deleteRules() {
   // Lock it!
   mLock.lock();
   try {
     startTransaction();
     rulesTable.deleteAllEntries(localDatabase);
   } catch (DBException e) {
     Logger.error(this, "Problems starting transaction");
   } finally {
     endTransaction();
     mLock.unlock();
   }
 }