Mercurial > dive4elements > framework
view artifacts/src/main/java/org/dive4elements/artifacts/DataProvider.java @ 548:df7c3fb4b276
Added tag 3.2.1 for changeset 266b599a4819
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Mon, 28 Dec 2015 17:55:00 +0100 |
parents | 415df0fc4fa1 |
children |
line wrap: on
line source
package org.dive4elements.artifacts; /** * DataProviders register on a Blackboard with a key (basically shouting * "I can or know X!"). * * Consumers look at the blackboard and then consume data from these * DataProvider, passing them (optional) parameterization and the blackboard * itself. * * Through the blackboard-passing-when-consuming, also recursive patterns can * be modelled (but take care, there is no in-built cycle detection). */ public interface DataProvider { /** Register this DataProvider on a blackboard under a key. */ public void register(CallContext blackboard); /** Provide data, given parameterization and a "blackboard". */ public Object provideData(Object key, Object param, CallContext context); } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :