private void touch() { touchElement(LAST_MODIFICATION_TIME_ELEMENT_NAME, this.element); this.database.setDirty(true); } }
@Override public void setName(String name) { setElementContent(NAME_ELEMENT_NAME, element, name); database.setDirty(true); }
public void setName(String name) { DomHelper.setElementContent("DatabaseName", dbMeta, name); DomHelper.touchElement("DatabaseNameChanged", dbMeta); setDirty(true); }
@Override public void setBinaryProperty(String name, byte[] value) { Element property = DomHelper.getElement(String.format(DomHelper.BINARY_PROPERTY_ELEMENT_FORMAT, name), element, false); if (property == null) { property = DomHelper.newElement("Binary", element); DomHelper.setElementContent("Key", property, name); } DomHelper.setBinaryElementContent(DomHelper.VALUE_ELEMENT_NAME, property, value); DomHelper.touchElement(DomHelper.LAST_MODIFICATION_TIME_ELEMENT_NAME, element); database.setDirty(true); }
@Override public void setIcon(DomIconWrapper icon) { DomHelper.getElement(DomHelper.ICON_ELEMENT_NAME, element, true).setTextContent(String.valueOf(icon.getIndex())); DomHelper.touchElement(DomHelper.LAST_MODIFICATION_TIME_ELEMENT_NAME, element); database.setDirty(true); }
@Override public void setIcon(DomIconWrapper icon) { setElementContent(ICON_ELEMENT_NAME, element, String.valueOf(icon.getIndex())); database.setDirty(true); }
@Override public DomIconWrapper getIcon() { return new DomIconWrapper(DomHelper.getElement(DomHelper.ICON_ELEMENT_NAME, element, false)); }
public DomEntryWrapper(Element element, DomDatabaseWrapper database, boolean newElement) { this.element = element; this.database = database; if (newElement) { DomHelper.ensureElements(element, mandatoryEntryElements); ensureProperty("Notes"); ensureProperty("Title"); ensureProperty("URL"); ensureProperty("UserName"); ensureProperty("Password"); } }
@Override public boolean removeBinaryProperty(String name) { boolean wasRemoved = DomHelper.removeElement(String.format(DomHelper.BINARY_PROPERTY_ELEMENT_FORMAT, name), element); if (wasRemoved) database.setDirty(true); return wasRemoved; }
@Override public Database load(KdbxCreds creds, InputStream inputStream) throws Exception { return DomDatabaseWrapper.load(creds, inputStream); } }
public DomGroupWrapper(Element element, DomDatabaseWrapper database, boolean newGroup) { this.database = database; this.element = element; if (newGroup) { ensureElements(this.element, mandatoryGroupElements); } }
@Override public String getValue() { return base64RandomUuid(); }
@Override public DomGroupWrapper getRootGroup() { return new DomGroupWrapper(dbRootGroup, this, false); }
@Override public void setExpires(boolean expires) { DomHelper.setElementContent(DomHelper.EXPIRES_ELEMENT_NAME, element, expires ? "True" : "False"); }
@Override public void setParent(DomGroupWrapper parent) { parent.addGroup(this); }
@Override public String getDescription() { return DomHelper.getElementContent("DatabaseDescription", dbMeta); }
@Override public void setProperty(String name, String value) { Element property = DomHelper.getElement(String.format(DomHelper.PROPERTY_ELEMENT_FORMAT, name), element, false); if (property == null) { property = DomHelper.newElement("String", element); DomHelper.setElementContent("Key", property, name); } DomHelper.setElementContent(DomHelper.VALUE_ELEMENT_NAME, property, value); DomHelper.touchElement(DomHelper.LAST_MODIFICATION_TIME_ELEMENT_NAME, element); database.setDirty(true); }
@Override public void setDescription(String description) { DomHelper.setElementContent("DatabaseDescription", dbMeta, description); DomHelper.touchElement("DatabaseDescriptionChanged", dbMeta); setDirty(true); }
@Override public DomIconWrapper getIcon() { return new DomIconWrapper(getElement(ICON_ELEMENT_NAME, element, false)); }