Package org.apache.unomi.api.services
Interface DefinitionsService
- All Known Implementing Classes:
DefinitionsServiceImpl
public interface DefinitionsService
A service to retrieve definition information about core context server entities such as conditions, actions and values.
-
Method Summary
Modifier and TypeMethodDescriptionextractConditionBySystemTag
(Condition rootCondition, String systemTag) Retrieves a condition matching the specified system tag identifier from the specified root condition.extractConditionByTag
(Condition rootCondition, String tag) Deprecated.extractConditionsByType
(Condition rootCondition, String typeId) Retrieves all conditions of the specified type from the specified root condition.getActionType
(String id) Retrieves the action type associated with the specified identifier.Retrieves the set of action types with the specified system tag.getActionTypeByTag
(String tag) Retrieves the set of action types with the specified tag.Retrieves all known action types.Retrieves all condition types.Retrieves all known value types.Retrieves a new instance of a ConditionBuilder to help to build conditions.Retrieves the condition type associated with the specified identifier.Retrieves the set of condition types with the specified system tag.Retrieves the set of condition types with the specified tag.Retrieves the property merge strategy type associated with the specified identifier.Retrieves a Map of plugin identifier to a list of plugin types defined by that particular plugin.getValueType
(String id) Retrieves the value type associated with the specified identifier.getValueTypeByTag
(String tag) Retrieves the set of value types with the specified tag.void
refresh()
Forces a refresh of the definitions from the persistence service.void
Remove the action typevoid
Remove the condition typeboolean
resolveConditionType
(Condition rootCondition) Resolves (if possible) theConditionType
s for the specified condition and its sub-conditions (if any) from the type identifiers existing on the specified condition TODO: remove from API and move to a different class?void
setActionType
(ActionType actionType) Stores the action typevoid
setConditionType
(ConditionType conditionType) Stores the condition type
-
Method Details
-
getAllConditionTypes
Collection<ConditionType> getAllConditionTypes()Retrieves all condition types.- Returns:
- a Collection of all collection types
-
getConditionTypesByTag
Retrieves the set of condition types with the specified tag.- Parameters:
tag
- the tag marking the condition types we want to retrieve- Returns:
- the set of condition types with the specified tag (and its sub-tags, if specified)
-
getConditionTypesBySystemTag
Retrieves the set of condition types with the specified system tag.- Parameters:
tag
- the system tag marking the condition types we want to retrieve- Returns:
- the set of condition types with the specified tag (and its sub-tags, if specified)
-
getConditionType
Retrieves the condition type associated with the specified identifier.- Parameters:
id
- the identifier of the condition type to retrieve- Returns:
- the condition type associated with the specified identifier or
null
if no such condition type exists
-
setConditionType
Stores the condition type- Parameters:
conditionType
- the condition type to store
-
removeConditionType
Remove the condition type- Parameters:
id
- the condition type to remove
-
getAllActionTypes
Collection<ActionType> getAllActionTypes()Retrieves all known action types.- Returns:
- all known action types
-
getActionTypeByTag
Retrieves the set of action types with the specified tag.- Parameters:
tag
- the tag marking the action types we want to retrieve- Returns:
- the set of action types with the specified tag
-
getActionTypeBySystemTag
Retrieves the set of action types with the specified system tag.- Parameters:
tag
- the system tag marking the action types we want to retrieve- Returns:
- the set of action types with the specified tag
-
getActionType
Retrieves the action type associated with the specified identifier.- Parameters:
id
- the identifier of the action type to retrieve- Returns:
- the action type associated with the specified identifier or
null
if no such action type exists
-
setActionType
Stores the action type- Parameters:
actionType
- the action type to store
-
removeActionType
Remove the action type- Parameters:
id
- the action type to remove
-
getAllValueTypes
Collection<ValueType> getAllValueTypes()Retrieves all known value types.- Returns:
- all known value types
-
getValueTypeByTag
Retrieves the set of value types with the specified tag.- Parameters:
tag
- the tag marking the value types we want to retrieve- Returns:
- the set of value types with the specified tag
-
getValueType
Retrieves the value type associated with the specified identifier.- Parameters:
id
- the identifier of the value type to retrieve- Returns:
- the value type associated with the specified identifier or
null
if no such value type exists
-
getTypesByPlugin
Map<Long,List<PluginType>> getTypesByPlugin()Retrieves a Map of plugin identifier to a list of plugin types defined by that particular plugin.- Returns:
- a Map of plugin identifier to a list of plugin types defined by that particular plugin
-
getPropertyMergeStrategyType
Retrieves the property merge strategy type associated with the specified identifier.- Parameters:
id
- the identifier of the property merge strategy type to retrieve- Returns:
- the property merge strategy type associated with the specified identifier or
null
if no such property merge strategy type exists
-
extractConditionsByType
Retrieves all conditions of the specified type from the specified root condition. TODO: remove?- Parameters:
rootCondition
- the condition from which we want to extract all conditions with the specified typetypeId
- the identifier of the condition type we want conditions to extract to match- Returns:
- a set of conditions contained in the specified root condition and matching the specified condition type or an empty set if no such condition exists
-
extractConditionByTag
Deprecated.As of 1.2.0-incubating, please useextractConditionBySystemTag(Condition, String)
insteadRetrieves a condition matching the specified tag identifier from the specified root condition. TODO: remove from API and move to a different class? TODO: purpose and behavior not clear- Parameters:
rootCondition
- the root condition where to start the extraction by classtag
- the tag to use to extract the condition- Returns:
- Condition the condition that has been found matching the tag, or null if none matched
-
extractConditionBySystemTag
Retrieves a condition matching the specified system tag identifier from the specified root condition.- Parameters:
rootCondition
- the root condition where to start the extraction by classsystemTag
- the tag to use to extract the condition- Returns:
- Condition the condition that has been found matching the tag, or null if none matched
-
resolveConditionType
Resolves (if possible) theConditionType
s for the specified condition and its sub-conditions (if any) from the type identifiers existing on the specified condition TODO: remove from API and move to a different class?- Parameters:
rootCondition
- the condition for which we want to resolve the condition types from the existing condition type identifiers- Returns:
true
-
refresh
void refresh()Forces a refresh of the definitions from the persistence service. Warning: this may seriously impact performance so it is recommended to use this in specific cases such as for example in integration tests. -
getConditionBuilder
ConditionBuilder getConditionBuilder()Retrieves a new instance of a ConditionBuilder to help to build conditions.- Returns:
- a new instance of a ConditionBuilder
-
extractConditionBySystemTag(Condition, String)
instead