51Degrees Pipeline Java  4.1

51Degrees Pipeline for Java

fiftyone.pipeline.engines.data.AspectDataBase Class Reference abstract

Detailed Description

Abstract base class for AspectData which overrides the AspectData#get(String) method to add null checks and uses the MissingPropertyService to determine the reason for a value not being present.

For example, if the user has excluded the property at the configuration stage.

Inheritance diagram for fiftyone.pipeline.engines.data.AspectDataBase:

[legend]

Collaboration diagram for fiftyone.pipeline.engines.data.AspectDataBase:

[legend]

Public Member Functions

 AspectDataBase (Logger logger, FlowData flowData, AspectEngine engine)
Constructs a new instance with a non-thread-safe, case-insensitive Map as the underlying storage. More...
 AspectDataBase (Logger logger, FlowData flowData, AspectEngine engine, MissingPropertyService missingPropertyService)
Constructs a new instance with a non-thread-safe, case-insensitive Map as the underlying storage. More...
 AspectDataBase (Logger logger, FlowData flowData, AspectEngine engine, MissingPropertyService missingPropertyService, Map< String, Object > map)
Constructs a new instance with a custom Map as the underlying storage. More...
List< AspectEngine >  getEngines ()
Get the engines that generated the data withing this data instance. More...
Future<?>  getProcessFuture ()
If the engine is configured for lazy loading, this property returns a Future that will complete once the engine has finished processing. More...
void  addEngine (AspectEngine engine)
Add an engine to the list of engines which have generated the data within this instance. More...
void  addProcessCallable (ProcessCallable runnable)
Add a callable which will run a AspectEngine#process(FlowData) method to populate this instance. More...
Map< String, Object >  asKeyMap ()
Get the data contained in this instance as a read only Map. More...
Object  get (String propertyName) throws PropertyMissingException
Gets the value stored using the specified key with full checks against the MissingPropertyService. More...

Public Member Functions inherited from fiftyone.pipeline.core.data.ElementDataBase

 ElementDataBase (Logger logger, FlowData flowData)
Constructs a new instance with a non-thread-safe, case-insensitive Map as the underlying storage. More...
 ElementDataBase (Logger logger, FlowData flowData, Map< String, Object > data)
Constructs a new instance with a custom Map as the underlying storage. More...
Pipeline  getPipeline ()
Get the Pipeline instance which this instance is associated with. More...
void  setPipeline (Pipeline pipeline)
Set the Pipeline instance which this instance is associated with. More...

Public Member Functions inherited from fiftyone.pipeline.core.data.DataBase

 DataBase (Logger logger)
Construct a new instance with the default case insensitive Map as the underlying storage. More...
 DataBase (Logger logger, Map< String, Object > data)
Construct a new instance with a custom implementation of Map as the underlying storage. More...
Object  get (String key)
Get the value stored using the specified key. More...
void  put (String key, Object value)
Set the value stored using the specified key. More...
Map< String, Object >  asKeyMap ()
Get the data contained in this instance as a read only Map. More...
void  populateFromMap (Map< String, Object > values)
Use the values in the specified map to populate this data instance. More...

Constructor & Destructor Documentation

◆ AspectDataBase() [1/3]

fiftyone.pipeline.engines.data.AspectDataBase.AspectDataBase ( Logger   logger,
FlowData   flowData,
AspectEngine   engine  
)

Constructs a new instance with a non-thread-safe, case-insensitive Map as the underlying storage.

Parameters
logger - used for logging
flowData - the FlowData instance this element data will be associated with
engine - the engine which created the instance

◆ AspectDataBase() [2/3]

fiftyone.pipeline.engines.data.AspectDataBase.AspectDataBase ( Logger   logger,
FlowData   flowData,
AspectEngine   engine,
MissingPropertyService   missingPropertyService  
)

Constructs a new instance with a non-thread-safe, case-insensitive Map as the underlying storage.

Parameters
logger - used for logging
flowData - the FlowData instance this element data will be associated with
engine - the engine which created the instance
missingPropertyService - service used to determine the reason for a property value being missing

◆ AspectDataBase() [3/3]

fiftyone.pipeline.engines.data.AspectDataBase.AspectDataBase ( Logger   logger,
FlowData   flowData,
AspectEngine   engine,
MissingPropertyService   missingPropertyService,
Map< String, Object >   map  
)

Constructs a new instance with a custom Map as the underlying storage.

Parameters
logger - used for logging
flowData - the FlowData instance this element data will be associated with
engine - the engine which created the instance
missingPropertyService - service used to determine the reason for a property value being missing

Member Function Documentation

◆ addEngine()

void fiftyone.pipeline.engines.data.AspectDataBase.addEngine ( AspectEngine   engine )

Add an engine to the list of engines which have generated the data within this instance.

Parameters
engine - engine adding data

◆ addProcessCallable()

void fiftyone.pipeline.engines.data.AspectDataBase.addProcessCallable ( ProcessCallable   runnable )

Add a callable which will run a AspectEngine#process(FlowData) method to populate this instance.

The property accessors will only complete once all such tasks have completed.

Parameters
runnable - processing runnable

◆ asKeyMap()

Map<String, Object> fiftyone.pipeline.engines.data.AspectDataBase.asKeyMap ( )

Get the data contained in this instance as a read only Map.

Returns
the data

Implements fiftyone.pipeline.core.data.Data.

◆ getProcessFuture()

Future<?> fiftyone.pipeline.engines.data.AspectDataBase.getProcessFuture ( )

If the engine is configured for lazy loading, this property returns a Future that will complete once the engine has finished processing.

Otherwise, it will be null.

Returns
lazy loading future or null

Implements fiftyone.pipeline.engines.data.AspectData.