51Degrees Pipeline Java  4.1

51Degrees Pipeline for Java

fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault Class Reference

Detailed Description

Default implementation of the ElementPropertyMetaData interface.

Inheritance diagram for fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault:

[legend]

Collaboration diagram for fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault:

[legend]

Public Member Functions

 ElementPropertyMetaDataDefault (String name, FlowElement element, String category, Class type, boolean available)
Construct a new instance of ElementPropertyMetaDataDefault. More...
 ElementPropertyMetaDataDefault (String name, FlowElement element, String category, Class type, boolean available, List< ElementPropertyMetaData > itemProperties)
Construct a new instance of ElementPropertyMetaDataDefault. More...
 ElementPropertyMetaDataDefault (String name, FlowElement element, String category, Class type, boolean available, List< ElementPropertyMetaData > itemProperties, boolean delayExecution, List< String > evidenceProperties)
Construct a new instance of ElementPropertyMetaDataDefault. More...
String  getName ()
Get the name of the property. More...
FlowElement  getElement ()
Get the element which returns this property. More...
String  getCategory ()
The category the property belongs to. More...
Class  getType ()
Get the type of data which the property refers to e.g. More...
boolean  isAvailable ()
Get whether or not the property is available in the results // todo. More...
List< ElementPropertyMetaData >  getItemProperties ()
This is only relevant where Type is a collection of complex objects. More...
boolean  getDelayExecution ()
Only relevant if the type is JavaScript. More...
List< String >  getEvidenceProperties ()
Get the names of any JavaScript properties that, when executed, will obtain additional evidence that can help in determining the value of this property. More...

Constructor & Destructor Documentation

◆ ElementPropertyMetaDataDefault() [1/3]

fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.ElementPropertyMetaDataDefault ( String   name,
FlowElement   element,
String   category,
Class   type,
boolean   available  
)

Construct a new instance of ElementPropertyMetaDataDefault.

Parameters
name - the name of the property
element - the element which the property belongs to
category - the category the property belongs to
type - the data type which values of the property have
available - true if the property is available

◆ ElementPropertyMetaDataDefault() [2/3]

fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.ElementPropertyMetaDataDefault ( String   name,
FlowElement   element,
String   category,
Class   type,
boolean   available,
List< ElementPropertyMetaData >   itemProperties  
)

Construct a new instance of ElementPropertyMetaDataDefault.

Parameters
name - name of the property
element - the element which the property belongs to
category - the category which the property belongs to
type - the type of value returned by the property
dataTiersWherePresent - data tiers which contain this property
available - true if the property is available
itemProperties - list of sub-properties contained within the property

◆ ElementPropertyMetaDataDefault() [3/3]

fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.ElementPropertyMetaDataDefault ( String   name,
FlowElement   element,
String   category,
Class   type,
boolean   available,
List< ElementPropertyMetaData >   itemProperties,
boolean   delayExecution,
List< String >   evidenceProperties  
)

Construct a new instance of ElementPropertyMetaDataDefault.

Parameters
name - the name of the property
element - the element which the property belongs to
category - the category the property belongs to
type - the data type which values of the property have
available - true if the property is available
itemProperties - list of sub-properties contained within the property
delayExecution - only relevant if the type is JavaScript. Defaults to false. If set to true then the JavaScript in this property will not be executed automatically on the client device.
evidenceProperties - the names of any JavaScript properties that, when executed, will obtain additional evidence that can help in determining the value of this property. Note that these names should include any parts after the element data key. I.e. if the complete property name is 'devices.profiles.screenwidthpixelsjavascript' then the/ name in this list must be 'profiles.screenwidthpixelsjavascript'

Member Function Documentation

◆ getDelayExecution()

boolean fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.getDelayExecution ( )

Only relevant if the type is JavaScript.

Defaults to false. If set to true then the JavaScript in this property will not be executed automatically on the client device. This is used where executing the JavaScript would result in undesirable behavior. For example, attempting to access the location of the device will cause the browser to show a pop-up confirming if the user is happy too allow the website access to their location. In general, we don't want this to happen immediately when a user enters a website, but when they try to use a feature that requires location data (e.g. show restaurants near me).

Returns
true if execution should be delayed

Implements fiftyone.pipeline.core.data.ElementPropertyMetaData.

◆ getEvidenceProperties()

List<String> fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.getEvidenceProperties ( )

Get the names of any JavaScript properties that, when executed, will obtain additional evidence that can help in determining the value of this property.

For example, the ScreenPixelsWidthJavaScript property will get the pixel width of the client-device's screen. This is used to update the ScreenPixelsWidth property. As such, ScreenPixelsWidth will have ScreenPixelWidthJavaScript in its list of evidence properties.

Returns
list of evidence properties

Implements fiftyone.pipeline.core.data.ElementPropertyMetaData.

◆ getItemProperties()

List<ElementPropertyMetaData> fiftyone.pipeline.core.data.ElementPropertyMetaDataDefault.getItemProperties ( )

This is only relevant where Type is a collection of complex objects.

It contains a list of the property meta-data for the items in the value for this property. For example, if this meta-data instance represents a list of hardware devices, ItemProperties will contain a list of the meta-data for properties available on each hardware device element within that list.

Implements fiftyone.pipeline.core.data.ElementPropertyMetaData.