Class TLcyCompositeModelMeasureProviderFactory

java.lang.Object
com.luciad.lucy.util.TLcyGenericComposite<ILcdModelMeasureProviderFactory>
com.luciad.lucy.util.measure.TLcyCompositeModelMeasureProviderFactory
All Implemented Interfaces:
ILcdModelMeasureProviderFactory, Iterable<ILcdModelMeasureProviderFactory>

public class TLcyCompositeModelMeasureProviderFactory extends TLcyGenericComposite<ILcdModelMeasureProviderFactory> implements ILcdModelMeasureProviderFactory

Composite implementation (see composite design pattern) of ILcdModelMeasureProviderFactory. It keeps a list of associated ILcdModelMeasureProviderFactory instances: one can add and remove other ILcdModelMeasureProviderFactory instances to this ILcdModelMeasureProviderFactory.

When creating a new TLcyCompositeModelMeasureProviderFactory using the default constructor (see TLcyCompositeModelMeasureProviderFactory()), the created instance will only work on/with the ILcdModelMeasureProviderFactorys registered on this composite instance (see addModelMeasureProviderFactory(com.luciad.util.measure.ILcdModelMeasureProviderFactory) and removeModelMeasureProviderFactory(com.luciad.util.measure.ILcdModelMeasureProviderFactory)).

When creating a new TLcyCompositeModelMeasureProviderFactory using the constructor specifying an ILcyLucyEnv instance (see TLcyCompositeModelMeasureProviderFactory(com.luciad.lucy.ILcyLucyEnv)), the created instance will work on the Lucy back-end services. It will use all registered ILcdModelMeasureProviderFactory instances of the Lucy back-end, adding and/or removing an ILcdModelMeasureProviderFactory will add/remove the ILcdModelMeasureProviderFactory as service from Lucy, ... .

This class can for example be used to retrieve measures for a view:


 TLcyCompositeModelMeasureProviderFactory factory = new TLcyCompositeModelMeasureProviderFactory( lucyEnv );
 TLcdGXYViewMeasureProvider measureProvider = new TLcdGXYViewMeasureProvider( view, Collections.singletonList( compositeModelMeasureProvider ) );
 ALcdMeasureProvider.Parameters parameters = ALcdMeasureProvider.Parameters.newBuilder().build();
 List<TLcdISO19103Measure[]> measures = measureProvider.retrieveMeasuresAt( point, pointReference, parameters );
 

Since:
2013.0