001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package gov.nist.secauto.metaschema.databind.model; 007 008import gov.nist.secauto.metaschema.core.model.IValued; 009 010import java.lang.reflect.ParameterizedType; 011import java.lang.reflect.Type; 012 013import edu.umd.cs.findbugs.annotations.NonNull; 014 015@FunctionalInterface 016public interface IValuedMutable extends IValued { 017 /** 018 * Set the provided value on the provided object. The provided object must be of 019 * the item's type associated with this instance. 020 * 021 * @param parentObject 022 * the object 023 * @param value 024 * a value, which may be a simple {@link Type} or a 025 * {@link ParameterizedType} for a collection 026 */ 027 void setValue(@NonNull Object parentObject, Object value); 028}