/** * Set (Multiplicity != *) or add (Multiplicity == *) <code>value</code> at <code>field</code> * of <code>instance</code>. * * @param instance * @param field * @param value * @throws EdmException */ private void setValueAtNavigationField(final Object instance, final Field field, final Object value) throws EdmException { Class<?> fieldTypeClass = field.getType(); if (Collection.class.isAssignableFrom(fieldTypeClass)) { @SuppressWarnings("unchecked") Collection<Object> collection = (Collection<Object>) ANNOTATION_HELPER.getValueForField( instance, field.getName(), EdmNavigationProperty.class); if (collection == null) { collection = new ArrayList<Object>(); setValue(instance, field, collection); } collection.add(value); } else if (fieldTypeClass.isArray()) { throw new AnnotationRuntimeException("Write relations for internal used arrays is not supported."); } else { setValue(instance, field, value); } }
/** * Set (Multiplicity != *) or add (Multiplicity == *) <code>value</code> at <code>field</code> * of <code>instance</code>. * * @param instance * @param field * @param value * @throws EdmException */ private void setValueAtNavigationField(final Object instance, final Field field, final Object value) throws EdmException { Class<?> fieldTypeClass = field.getType(); if (Collection.class.isAssignableFrom(fieldTypeClass)) { @SuppressWarnings("unchecked") Collection<Object> collection = (Collection<Object>) ANNOTATION_HELPER.getValueForField( instance, field.getName(), EdmNavigationProperty.class); if (collection == null) { collection = new ArrayList<Object>(); setValue(instance, field, collection); } collection.add(value); } else if (fieldTypeClass.isArray()) { throw new AnnotationRuntimeException("Write relations for internal used arrays is not supported."); } else { setValue(instance, field, value); } }
/** * Set (Multiplicity != *) or add (Multiplicity == *) <code>value</code> at <code>field</code> * of <code>instance</code>. * * @param instance * @param field * @param value * @throws EdmException */ private void setValueAtNavigationField(final Object instance, final Field field, final Object value) throws EdmException { Class<?> fieldTypeClass = field.getType(); if (Collection.class.isAssignableFrom(fieldTypeClass)) { @SuppressWarnings("unchecked") Collection<Object> collection = (Collection<Object>) ANNOTATION_HELPER.getValueForField( instance, field.getName(), EdmNavigationProperty.class); if (collection == null) { collection = new ArrayList<Object>(); setValue(instance, field, collection); } collection.add(value); } else if (fieldTypeClass.isArray()) { throw new ODataRuntimeException("Write relations for internal used arrays is not supported."); } else { setValue(instance, field, value); } }