Summary

In the Seamless project agro-environmental models exchange whole data structures (e.g. crop, farm) instead of single values. In the Seamless project these data structures are java classes, generated from ontology. This is to ensure models use shared definitions of concepts.

How to address in Version 1

Some sample code:


public class SimpleCropProvider extends SeamLinkableComponent {

	public SimpleCropProvider(String ID) {
		super(ID);
		registerOutputExchangeItem(Crop.class);
	}

	...
}


public abstract class SeamLinkableComponent extends LinkableComponent {

	...

	protected <I extends Class> ValueSet registerOutputExchangeItem(I type) {
		SeamOutputExchangeItem<I> item = new SeamOutputExchangeItem<I>(this,
				type);
		outputExchangeItems.add(item);
		ValueSet<I> values = new ValueSet<I>();
		outputs.put(type, values);
		return values;
	}

	...
}

...

How to address in Version 2

...