在这个特定的例子中,我使用CQ Groovy控制台v.6.1.2来访问com.day.cq.tagging.Tag
对象的属性。
Tag
类同时包含getNamespace()
和isNamespace()
方法。通过调用namespace
访问tag.namespace
属性时,我获得了isNamespace()
的结果,而不是getNamespace()
- 是否有确定的优先级和/或任何方式来更改此行为或确定(如果是,那么如何/基于什么)将调用两者中的哪一个?
编辑:代码片段可以直观地显示问题。
com.day.cq.tagging.Tag tag
// assign tag variable
def is = tag.isNamespace()
def get = tag.getNamespace()
def prop = tag.namespace
assert prop == is
assert prop != get
为什么两个断言都通过?我可以做任何事情让它们都没有通过吗?如何知道prop==is
或prop==get
(通过查看文档/代码)?
EDIT2:Tag
类是Adobe CQ 5.6.1标记API的一部分,因此我能提供的唯一想法是official documentation