2016-02-23 56 views
0

我見過aem中的配置,它有兩部分,第一部分是靜態最終字符串,其名稱將訪問配置屬性,另一部分是實例變量,其值爲i從屬性獲取Dictionary對象。AEM - 配置如何工作

比如,對於吊帶自己的代碼,

public class ResourceResolverFactoryActivator implements Runnable { 
... 
@Property(
     boolValue = {true}, 
     label = "Namespace Mangling", 
     description = ".." 
    ) 
private static final String PROP_MANGLE_NAMESPACES = "resource.resolver.manglenamespaces"; 
... // other code in between 

private boolean mangleNamespacePrefixes; 

protected void activate(ComponentContext componentContext){ 
... 
this.mangleNamespacePrefixes = PropertiesUtil.toBoolean(properties.get("resource.resolver.manglenamespaces"), false); 
... 
} 

是什麼final String PROP_MANGLE_NAMESPACES和實例boolean mangleNamespacePrefixes這裏的意義。爲什麼兩個不同的變量只能代表一個@Property

回答

2

PROP_MANGLE_NAMESPACES用於存儲屬性名稱(將由felix用於保留該屬性)。 mangleNamespacePrefixes是存儲該屬性的值。

如果您願意在需要的地方使用PropertiesUtil.toBoolean(properties.get(PROP_MANGLE_NAMESPACES), false),則不一定要定義mangleNamespacePrefixes