1 /*
2 * SPDX-FileCopyrightText: none
3 * SPDX-License-Identifier: CC0-1.0
4 */
5
6 package gov.nist.secauto.metaschema.databind.model;
7
8 import gov.nist.secauto.metaschema.core.model.IValued;
9
10 import java.lang.reflect.ParameterizedType;
11 import java.lang.reflect.Type;
12
13 import edu.umd.cs.findbugs.annotations.NonNull;
14
15 @FunctionalInterface
16 public interface IValuedMutable extends IValued {
17 /**
18 * Set the provided value on the provided object. The provided object must be of
19 * the item's type associated with this instance.
20 *
21 * @param parentObject
22 * the object
23 * @param value
24 * a value, which may be a simple {@link Type} or a
25 * {@link ParameterizedType} for a collection
26 */
27 void setValue(@NonNull Object parentObject, Object value);
28 }