Start page / Plug-In Development / Universal Extensions / Input Components / Value Processing / Value Engineer Aspects
Value Engineer Aspects
Value engineer aspects extend the functional abilities of an input component's value engineer class.
For example, a value engineer may
- provide a set of differences between the component's stored value and another value in order to aid with difference visualization,
- provide support for search and indexing by generating a text value for search and a set of matches based on a given request, or
- apply rules to validate a value which is to be stored in order to react to invalid component data.
Providing Aspects
The aspect provisioning process occurs within the component's implementation of the interface ValueEngineer<T>. A method getAspect(...) must be implemented and provide an object which implements the requested aspect if available.
FirstSpirit occasionally calls the method getAspect(...) with various aspect types as a parameter to identify if the editor's value engineer class supports a given aspect. If the value engineer supports the requested aspect, the method should return an object which implements that aspect; otherwise, it should return null.
Value Engineer Aspects by Category
Value Engineer Aspects | ||
---|---|---|
Difference Computation | ||
Aspect | Description | Methods / Notes |
Computes differences between two given values of an input component for difference visualization (e.g. in the version comparison dialog in SiteArchitect). | List<Difference> computeDifferences(T actualValue, T oldValue) | |
Indexing and Search | ||
Aspect | Description | Methods / Notes |
Provides a text representation of a given value object and identified a list of matches within a given value object based on a request object. | List<? extends Match> getMatches(Request request, T value) | |
Collects references (e.g. references to store elements or external URLs) within a given value object and provides a list of these references. | List<Reference> collectReferences(T value) | |