@Override public void setField(String fieldName, Object value) throws RecordException { record.setField(fieldName, value); }
@Override public void setField(QName fieldName, Object value) { record.setField(fieldName, value); }
@Override public RecordBuilder field(String name, Object value) throws RecordException { ArgumentValidator.notNull(name, "name"); record.setField(name, value); return this; }
@Override public RecordBuilder set() { if (mode == Mode.NESTED_RECORD) { parent.record.setField(parentField, createRecord()); return parent; } else { throw new IllegalStateException("set should only be called for nested records, current mode is " + mode); } }
@Override public RecordBuilder field(QName name, Object value) { ArgumentValidator.notNull(name, "name"); record.setField(name, value); return this; }
@Override public void beforeCreate(Record newRecord, Repository repository, FieldTypes fieldTypes, RecordEvent recordEvent) throws RepositoryException, InterruptedException { QName name = new QName("ns", "f1"); String currentValue = (String)newRecord.getField(name); newRecord.setField(name, currentValue + "-create-hook"); }
@Override public Record create(Record record) throws RepositoryException, InterruptedException { record.setField(new QName("ns", "f2"), "foo"); record = super.create(record); return record; }
@Override public void beforeUpdate(Record record, Record originalRecord, Repository repository, FieldTypes fieldTypes, RecordEvent recordEvent) throws RepositoryException, InterruptedException { QName name = new QName("ns", "f1"); String currentValue = (String)record.getField(name); record.setField(name, currentValue + "-update-hook"); }
private Record merge(Record record, Record original) { Record result = original.clone(); if (record.getRecordTypeName() != null) { result.setRecordType(record.getRecordTypeName()); } // TODO merge meta map for(Map.Entry<QName,Object> entry : record.getFields().entrySet()) { result.setField(entry.getKey(), entry.getValue()); } for (QName toDelete : record.getFieldsToDelete()) { result.getFields().remove(toDelete); } return result; }
record.setField(lastDecodedField.type.getName(), lastDecodedField.value); scopes.get(versionToRead).add(lastDecodedField.type.getScope()); if (lastDecodedField.metadata != null) {
@Override @SuppressWarnings("unchecked") public Record read(DataInput dataInput) throws RepositoryException, InterruptedException { Record record = new RecordImpl(); dataInput.readByte(); // Ignore, there is currently only one encoding : 1 int length = dataInput.readVInt(); byte[] recordTypeId = dataInput.readBytes(length); Long recordTypeVersion = dataInput.readLong(); RecordType recordType = typeManager.getRecordTypeById(new SchemaIdImpl(recordTypeId), recordTypeVersion); record.setRecordType(recordType.getName(), recordTypeVersion); Map<SchemaId, QName> idToQNameMapping = new HashMap<SchemaId, QName>(); List<FieldType> fieldTypes = getSortedFieldTypes(recordType); for (FieldType fieldType : fieldTypes) { byte readByte = dataInput.readByte(); if (DEFINED == readByte) { Object value = fieldType.getValueType().read(dataInput); record.setField(fieldType.getName(), value); idToQNameMapping.put(fieldType.getId(), fieldType.getName()); } } Map<Scope, SchemaId> recordTypeIds = new EnumMap<Scope, SchemaId>(Scope.class); recordTypeIds.put(Scope.NON_VERSIONED, recordType.getId()); return new IdRecordImpl(record, idToQNameMapping, recordTypeIds); }
Object value = readValue(subHandle, context); if (value != null) { record.setField(qname, value); } else if (value == null && deleteNullFields() && topLevelRecord) { record.delete(qname, true);
extractField(key, ceilingEntry.getValue(), readContext, fieldTypes); if (field != null) { record.setField(field.type.getName(), field.value); if (field.metadata != null) { record.setMetadata(field.type.getName(), field.metadata);
ValueType valueType = typeManager.getValueType(valueTypeName); Object value = valueType.read(input); record.setField(name, value);