package net.autosauler.ballance.server.vm; import java.util.ArrayList; import java.util.Date; import java.util.Hashtable; import java.util.List; import net.autosauler.ballance.server.model.Regestry; import net.autosauler.ballance.server.model.RegestryRecord; public class RegestryWrapper { private final String domain; private Regestry reg = null; public RegestryWrapper(String domain) { this.domain = domain; } private RegestryWrapper(String domain, String name) { this.domain = domain; reg = new Regestry(name, domain); } public void add(DocumentWrapper doc, Double summ, String currency, Hashtable<String, Object> values) { if (reg != null) { reg.add(doc.impl, summ, currency, values); } } public void add(DocumentWrapper doc, String summ, String currency, Hashtable<String, Object> values) { Double s = Double.parseDouble(summ); add(doc, s, currency, values); } public RegestryWrapper get(String name) { return new RegestryWrapper(domain, name); } public List<RegRec> history(String currency, Date start, Date end, Hashtable<String, Object> filter) { List<RegRec> result = new ArrayList<RegRec>(); if (reg != null) { List<RegestryRecord> h = reg.history(currency, start, end, filter); for (RegestryRecord r : h) { result.add(new RegRec(r)); } } return result; } public void minus(DocumentWrapper doc, Double summ, String currency, Hashtable<String, Object> values) { if (reg != null) { reg.add(doc.impl, -summ, currency, values); } } public void minus(DocumentWrapper doc, String summ, String currency, Hashtable<String, Object> values) { Double s = Double.parseDouble(summ); minus(doc, s, currency, values); } public void remove(DocumentWrapper doc) { if (reg != null) { reg.remove(doc.impl); } } public Double summ(String currency, Date date, Hashtable<String, Object> filter) { Double result = new Double(0.0D); if (reg != null) { result = reg.summ(currency, date, filter); } return result; } public Double summ(String currency, Long date, Hashtable<String, Object> filter) { Double result = new Double(0.0D); if (reg != null) { result = reg.summ(currency, new Date(date), filter); } return result; } }