sub_arctic.constraints
Interface value_provider
- All Known Subinterfaces:
- grow_draggable, grow_press_draggable, inout_draggable, inout_press_draggable, interactor, list_element, menu_focusable, menu_notifier, move_draggable, move_press_draggable, simple_draggable, simple_press_draggable, snap_draggable, snap_targetable
- All Known Implementing Classes:
- external_constraint
- public abstract interface value_provider
An interface for objects that provide values within the "external value"
system. This system bridges the lightweight constraint system to
external entities -- either to non-local dependents, to heavyweight
constraints, or to "application" objects. Value_provider objects can
maintain several values (parts) which are selected via a unique integer
designator. Value_providers are responsible for notifying a set of
value_consumer objects that have registered interest whenever one of
these values changes.
Method Summary |
void |
attach_dependent(int on_part_num,
value_consumer dep_obj,
int dep_part)
Register something as interested in (dependent on) one of the parts of
this object. |
void |
detach_dependent(int on_part_num,
value_consumer dep_obj,
int dep_part)
Remove an (object,part) pair from the dependent (interested in) list. |
java.lang.Object |
get_value(int part_number)
Get an up-to-date copy of (or reference to) a particular value. |
get_value
public java.lang.Object get_value(int part_number)
- Get an up-to-date copy of (or reference to) a particular value. All
values must be Objects. If you need to pass a builtin type (e.g., int),
use the corresponding Object form (e.g., Integer).
- Parameters:
int
- part_number the part number whose value is being requested.- Returns:
- Object an object holding the up-to-date value of that part.
attach_dependent
public void attach_dependent(int on_part_num,
value_consumer dep_obj,
int dep_part)
- Register something as interested in (dependent on) one of the parts of
this object. The entity registered is a part within a value_consumer
object. Whenever a value represented by this part of this value_provider
changes (or might change), the value_ood() method must be invoked on each
currently registered (object,part).
- Parameters:
int
- on_part_num number of our part.value_consumer
- dep_obj the object that uses that part.int
- dep_part the part within that object that uses
our part.
detach_dependent
public void detach_dependent(int on_part_num,
value_consumer dep_obj,
int dep_part)
- Remove an (object,part) pair from the dependent (interested in) list.
- Parameters:
int
- on_part_num number of our part.value_consumer
- dep_obj the object that formerly used that part.int
- dep_part the part within that object that
formerly used our part.