Class ConfigurationApi
java.lang.Object
org.apache.sling.feature.extension.apiregions.api.config.AttributeableEntity
org.apache.sling.feature.extension.apiregions.api.config.ConfigurationApi
A configuration api describes the set of supported OSGi
configurations and framework properties. This object can be
stored as an extension inside a feature model.
This class is not thread safe.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Clear the object and reset to defaultsprotected jakarta.json.JsonObjectBuilderConvert this object into JSONDetect the region, either return the stored region or the default (GLOBAL)voidfromJSONObject(jakarta.json.JsonObject jsonObj) Extract the metadata from the JSON object.static ConfigurationApigetConfigurationApi(org.apache.sling.feature.Extension ext) Get the configuration api from the extension.static ConfigurationApigetConfigurationApi(org.apache.sling.feature.Feature feature) Get the configuration api from the feature - if it exists.Get the map of configuration description additionsGet the configuration descriptionsGet the map of factory configuration description additionsGet the factory configuration descriptionsGet the feature to region cache to keep track of regions for origin featuresGet the framework propertiesGet the internal framework property namesgetMode()Get the validation mode.Get the api configuration regionbooleanCheck if the configuration is an internal configurationbooleanisInternalFactoryConfiguration(String factoryPid, String name) Check if the factory configuration is an internal configurationstatic voidsetConfigurationApi(org.apache.sling.feature.Feature feature, ConfigurationApi api) Set the configuration api as an extension to the featureprotected voidApply the non-null default values.voidSet the validation modevoidSet the api configuration regionMethods inherited from class org.apache.sling.feature.extension.apiregions.api.config.AttributeableEntity
getAttributes, getBoolean, getInteger, getNumber, getString, getString, getStringArray, setString, setStringArray, toJSONObject
-
Field Details
-
EXTENSION_NAME
The name of the api regions extension.- See Also:
-
-
Constructor Details
-
ConfigurationApi
public ConfigurationApi()
-
-
Method Details
-
getConfigurationApi
Get the configuration api from the feature - if it exists. If the configuration api is updated, the containing feature is left untouched.setConfigurationApi(Feature, ConfigurationApi)can be used to update the feature.- Parameters:
feature- The feature- Returns:
- The configuration api or
null. - Throws:
IllegalArgumentException- If the extension is wrongly formatted
-
getConfigurationApi
Get the configuration api from the extension. If the configuration api is updated, the containing extension is left untouched.- Parameters:
ext- The extension- Returns:
- The configuration api or
nullif the extension isnull. - Throws:
IllegalArgumentException- If the extension is wrongly formatted
-
setConfigurationApi
public static void setConfigurationApi(org.apache.sling.feature.Feature feature, ConfigurationApi api) Set the configuration api as an extension to the feature- Parameters:
feature- The featureapi- The configuration api- Throws:
IllegalStateException- If the feature has already an extension of a wrong typeIllegalArgumentException- If the api configuration can't be serialized to JSON
-
setDefaults
protected void setDefaults()Description copied from class:AttributeableEntityApply the non-null default values.- Overrides:
setDefaultsin classAttributeableEntity
-
clear
public void clear()Clear the object and reset to defaults- Overrides:
clearin classAttributeableEntity
-
fromJSONObject
Extract the metadata from the JSON object. This method first callsclear().- Overrides:
fromJSONObjectin classAttributeableEntity- Parameters:
jsonObj- The JSON Object- Throws:
IOException- If JSON parsing fails
-
getConfigurationDescriptions
Get the configuration descriptions- Returns:
- Mutable map of configuration descriptions by pid
-
getFactoryConfigurationDescriptions
Get the factory configuration descriptions- Returns:
- Mutable map of factory descriptions by factory pid
-
getFrameworkPropertyDescriptions
Get the framework properties- Returns:
- Mutable map of framework properties
-
isInternalConfiguration
Check if the configuration is an internal configuration- Parameters:
pid- The pid- Returns:
trueif it is an internal configuration- Since:
- 1.7.0
-
isInternalFactoryConfiguration
Check if the factory configuration is an internal configuration- Parameters:
factoryPid- The factory pidname- Optional name of the configuration- Returns:
trueif it is an internal factory configuration- Since:
- 1.7.0
-
getInternalFrameworkProperties
Get the internal framework property names- Returns:
- Mutable set of internal framework property names
-
getRegion
Get the api configuration region- Returns:
- The region or
null
-
setRegion
Set the api configuration region- Parameters:
value- The region to set
-
detectRegion
Detect the region, either return the stored region or the default (GLOBAL)- Returns:
- The region
- Since:
- 1.1
-
getFeatureToRegionCache
Get the feature to region cache to keep track of regions for origin features- Returns:
- The cache
- Since:
- 1.1.
-
getMode
Get the validation mode. The default isMode.STRICT- Returns:
- The mode
- Since:
- 1.2
-
setMode
Set the validation mode- Parameters:
value- The validation mode- Since:
- 1.2
-
createJson
Convert this object into JSON- Overrides:
createJsonin classAttributeableEntity- Returns:
- The json object builder
- Throws:
IOException- If generating the JSON fails
-
getConfigurationDescriptionAdditions
Get the map of configuration description additions- Returns:
- The map, might be empty
- Since:
- 1.8
-
getFactoryConfigurationDescriptionAdditions
public Map<String,FactoryConfigurationDescriptionAddition> getFactoryConfigurationDescriptionAdditions()Get the map of factory configuration description additions- Returns:
- The map, might be empty
- Since:
- 1.8
-