Class ConfigTypeContext
java.lang.Object
org.apache.sling.testing.mock.osgi.config.ConfigTypeContext
Performs configuration management and component property type construction for
ConfigType
and
SetConfig
annotations.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionconstructConfigType
(@NotNull ConfigType annotation) Return a concrete instance of the OSGi config / Component Property Type represented by the givenConfigType
annotation discovered via reflection.constructConfigType
(@NotNull ConfigType annotation, @Nullable String applyPid) Return a concrete instance of the OSGi config / Component Property Type represented by the givenConfigType
annotation discovered via reflection.getConfigurationPid
(@NotNull String pid, @NotNull Class component) Construct a configuration pid for use withConfigurationAdmin.getConfiguration(String)
.newTypedConfig
(@NotNull Annotation annotation) Construct a collection typed config for the provided annotation.newTypedConfig
(@NotNull Annotation annotation, @Nullable String applyPid) Construct a collection typed config for the provided annotation.void
updateConfiguration
(@NotNull String pid, @NotNull Map<String, Object> propertyMap) Updates aConfiguration
from the provided pid and property map.void
updateConfiguration
(@NotNull SetConfig annotation) Updates aConfiguration
from the provided annotation.
-
Constructor Details
-
ConfigTypeContext
-
-
Method Details
-
getConfigurationPid
public Optional<String> getConfigurationPid(@NotNull @NotNull String pid, @NotNull @NotNull Class component) Construct a configuration pid for use withConfigurationAdmin.getConfiguration(String)
. Ifpid
is not empty and not equal toComponent.NAME
("$"), returnpid
. Otherwise, returncomponent.getName()
, except in the case ofVoid
, in which case returnempty()
.- Parameters:
pid
- an explicit pid name, "$", or the empty stringcomponent
- a class whose name to use when pid is "$", unlessVoid
- Returns:
- a useful configuration pid or none
-
updateConfiguration
Updates aConfiguration
from the provided annotation.- Parameters:
annotation
- anSetConfig
annotation
-
updateConfiguration
public void updateConfiguration(@NotNull @NotNull String pid, @NotNull @NotNull Map<String, Object> propertyMap) Updates aConfiguration
from the provided pid and property map.- Parameters:
pid
- the configuration pidpropertyMap
- config properties to set on the configuration
-
constructConfigType
Return a concrete instance of the OSGi config / Component Property Type represented by the givenConfigType
annotation discovered via reflection.- Parameters:
annotation
- theConfigType
- Returns:
- a concrete instance of the type specified by the provided
ConfigType.type()
-
constructConfigType
public Object constructConfigType(@NotNull @NotNull ConfigType annotation, @Nullable @Nullable String applyPid) Return a concrete instance of the OSGi config / Component Property Type represented by the givenConfigType
annotation discovered via reflection.- Parameters:
annotation
- theConfigType
applyPid
- if not empty, override any specifiedConfigType.pid()
.- Returns:
- a concrete instance of the type specified by the provided
ConfigType.type()
-
newTypedConfig
Construct a collection typed config for the provided annotation.- Parameters:
annotation
- a component property type annotation orConfigType
annotation- Returns:
- a typed config
-
newTypedConfig
public TypedConfig newTypedConfig(@NotNull @NotNull Annotation annotation, @Nullable @Nullable String applyPid) Construct a collection typed config for the provided annotation.- Parameters:
annotation
- a component property type annotation orConfigType
annotationapplyPid
- optional non-empty configuration pid to apply if annotation is aConfigType
- Returns:
- a typed config
-