/** * Put a datum with a position and string key, overwriting as necessary. * * @param pos The position portion of the key. * @param key The string key. * @param data The data to put. */ public void putPositionDatum(NodePosition pos, String key, String data) { byte[] keyBytes = ArrayUtils.addAll( bytes("npos::"), // $NON-NLS-1$ ArrayUtils.addAll(pos.toBytes(), bytes("str::" + key))); // $NON-NLS-1$ byte[] dataBytes = bytes(data); this.innerDb.put(keyBytes, dataBytes); }
/** * Get a piece of string data with a position and string key, or <code>null</code> if the datum * cannot be found. Position keys are exclusive from all other key types. * * @param key * @return The found data. */ public String getPositionDatum(NodePosition pos, String key) { byte[] keyBytes = ArrayUtils.addAll( bytes("npos::"), // $NON-NLS-1$ ArrayUtils.addAll(pos.toBytes(), bytes("str::" + key))); // $NON-NLS-1$ byte[] dataBytes = this.innerDb.get(keyBytes); return (dataBytes == null) ? null : asString(dataBytes); }