Ejemplo n.º 1
0
    @Override
    protected void setRootAsync(Object value, FutureWithCallback<Void> future) {
        if (value instanceof UserTObject && ((UserTObject) value).getTrunk().getStore() != BinaryStore.this)
            future.setException(new RuntimeException(Strings.WRONG_STORE));
        else {
            byte[] data = writeObject(value);
            long id = _jdbm.getRoot(ROOT);

            if (id != 0)
                _jdbm.update(id, data);
            else {
                id = _jdbm.insert(data);
                _jdbm.setRoot(ROOT, id);
            }

            future.set(null);
        }
    }