This would be especially helpful as you otherwise have to set the name explicitly (and the according package from AnnotationClass.getConfigurationName() is not exported. I have created https://issues.apache.org/jira/browse/SLING-8272 <https://issues.apache.org/jira/browse/SLING-8272> to track this improvement.
> On 11. Feb 2019, at 13:11, Konrad Windszus <konra...@gmx.de> wrote: > > Actually one can use ConfigurationBuilder.asValueMap().isEmpty() > (https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/ConfigurationBuilder.html#asValueMap-- > > <https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/ConfigurationBuilder.html#asValueMap-->) > to check if there is an underlying CAC but maybe a more explicit method > still would make sense. > WDYT? > >> On 4. Feb 2019, at 16:33, Konrad Windszus <konra...@gmx.de >> <mailto:konra...@gmx.de>> wrote: >> >> Usually I prefer the "High Level" CAC API >> (https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#context-aware-configurations >> >> <https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#context-aware-configurations>) >> over the "Low-Level" one descriped at >> https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#context-aware-resources >> >> <https://sling.apache.org/documentation/bundles/context-aware-configuration/context-aware-configuration.html#context-aware-resources>. >> >> Still sometimes I am interested to figure out in code, whether there is a >> CAC bound at all. Currently I fail to see a method within >> https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/ConfigurationBuilder.html >> >> <https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/ConfigurationBuilder.html> >> which allows to easily check that. The as... method always succeed (i.e. >> will never return null and will rather return the default values from the >> annotation type). >> I have to go the "manual way" by explicitly calling >> ConfigurationResourceResolver.getResource() >> (https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.html >> >> <https://sling.apache.org/apidocs/sling11/org/apache/sling/caconfig/resource/ConfigurationResourceResolver.html>) >> but that also takes an explicit bucket name as argument, so I would always >> have to give "sling:configs" as parameter >> >> IMHO it would be nice to add a method like boolean hasConfiguration() to the >> ConfigurationBuilder interface. WDYT? >> >> Cheers, >> Konrad >