Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
Context-Aware Configuration API 1.1.2, Context-Aware Configuration Impl 1.4.14
-
None
Description
Sometimes it is desirable to check if a Context Aware Configuration is there at all via the high level API. Both methods as and asCollection will never return null, as they will always consider the default values. All other methods require to set at least a name.
So to simply check if a CAC content resource is existing for a certain annotation class (defining a Context Aware Configuration) the following code is necessary:
ConfigurationBuilder builder = contentResource.adaptTo(ConfigurationBuilder.class); builder.name(<derive name from annotation type>).valueMap().isEmpty();
As there is no method exported to derive the name from an annotation type this would require additional custom code.
I propose to add a simple
boolean has(@NotNull java.lang.Class<T> clazz)
which is only then supposed to return true in case there is an underlying CAC content resource which can be adapted to the given class.
Compare also with https://www.mail-archive.com/dev@sling.apache.org/msg83617.html.
Attachments
Issue Links
- is related to
-
SLING-8275 ConfigurationBuilder.asValueMap() does not return an empty value map in case configuration is not there - clarify JavaDocs
- Closed
- links to