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 givenConfigTypeannotation discovered via reflection.constructConfigType(@NotNull ConfigType annotation, @Nullable String applyPid) Return a concrete instance of the OSGi config / Component Property Type represented by the givenConfigTypeannotation 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.voidupdateConfiguration(@NotNull String pid, @NotNull Map<String, Object> propertyMap) Updates aConfigurationfrom the provided pid and property map.voidupdateConfiguration(@NotNull SetConfig annotation) Updates aConfigurationfrom 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). Ifpidis 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 aConfigurationfrom the provided annotation.- Parameters:
annotation- anSetConfigannotation
-
updateConfiguration
public void updateConfiguration(@NotNull @NotNull String pid, @NotNull @NotNull Map<String, Object> propertyMap) Updates aConfigurationfrom 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 givenConfigTypeannotation 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 givenConfigTypeannotation discovered via reflection.- Parameters:
annotation- theConfigTypeapplyPid- 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 orConfigTypeannotation- 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 orConfigTypeannotationapplyPid- optional non-empty configuration pid to apply if annotation is aConfigType- Returns:
- a typed config
-