package net.autosauler.ballance.server.model; import java.util.Date; import java.util.HashMap; import java.util.List; import net.autosauler.ballance.shared.Description; import net.autosauler.ballance.shared.Field; import com.mongodb.DBObject; public class RegestryRecord { private final String domain; private final String docname; private final Long docnum; private final Date date; private final Double summ; private final HashMap<String, Object> values; public RegestryRecord(Description descr, DBObject myDoc, String currency) { values = new HashMap<String, Object>(); domain = (String) myDoc.get(Regestry.fieldname_domain); docname = (String) myDoc.get(Regestry.fieldname_docname); docnum = (Long) myDoc.get(Regestry.fieldname_docnum); date = (Date) myDoc.get(Regestry.fieldname_date); summ = Currency.convert((Double) myDoc.get(Regestry.fieldname_summ), (String) myDoc.get(Regestry.fieldname_curr), currency, date); List<Field> fields = descr.get(); for (Field field : fields) { values.put(field.getFieldname(), myDoc.get(field.getFieldname())); } } public Object get(String name) { if (!values.containsKey(name)) { return null; } return values.get(name); } public Date getDate() { return date; } public AbstractDocument getDocument() { return new AbstractDocument(docname, domain, docnum); } public Double getSumm() { return summ; } }