public interface HippoBean extends IdentifiableContentBean, NodeAware, ObjectConverterAware, Comparable<HippoBean>
Modifier and Type | Method and Description |
---|---|
boolean |
equalCompare(Object compare)
A convenience method capable of comparing two HippoBean instances for you for the underlying jcr node.
|
<T extends HippoBean> |
getAvailableTranslations()
|
<T> T |
getBean(String relPath)
This methods fetches a child
HippoBean with the relative path relPath. |
<T extends HippoBean> |
getBean(String relPath,
Class<T> beanMappingClass)
Only if a bean found of type
beanMappingClass , it is returned, and otherwise null is returned. |
<T extends HippoBean> |
getBeanByUUID(String uuid,
Class<T> beanMappingClass) |
<T extends HippoBean> |
getCanonicalBean()
Returns the canonical version of the current
HippoBean or null in case that the backing Node is pure virtual, which
is the case for example for some faceted navigation nodes. |
String |
getCanonicalPath()
Returns the jcr path of the backing canonical (physical) jcr node or
null when |
String |
getCanonicalUUID()
Returns the jcr uuid of the backing canonical (physical) jcr node or
null when |
<T extends HippoBean> |
getChildBeans(Class<T> beanMappingClass)
Returns all the child beans as a
List with elements of type T . |
<T> List<T> |
getChildBeans(String jcrPrimaryNodeType)
Returns all the child beans of this bean, where the backing jcr node primary node type equals jcrPrimaryNodeType.
|
<T> List<T> |
getChildBeansByName(String childNodeName)
|
<T extends HippoBean> |
getChildBeansByName(String childNodeName,
Class<T> beanMappingClass)
|
String |
getDisplayName()
Returns the display name of the backing jcr node for this bean as determined by its
hippo:name property
or the node name of the backing jcr node if no such property exists |
Map<Object,Object> |
getEqualComparator()
A convenience method capable of comparing two HippoBean instances for you for the underlying jcr node.
|
<T extends HippoBean> |
getLinkedBean(String relPath,
Class<T> beanMappingClass)
This method returns the
HippoBean linked by relPath of type beanMappingClass. |
<T extends HippoBean> |
getLinkedBeans(String relPath,
Class<T> beanMappingClass)
Same as
getLinkedBean(String, Class) only now all linked beans found at relPath are returned. |
String |
getLocalizedName()
Deprecated.
use
getDisplayName() instead. Deprecated since 4.0.0 |
String |
getName()
This returns the node name of the backing jcr node for this bean
|
javax.jcr.Node |
getNode()
This returns the backing jcr node for this bean.
|
HippoBean |
getParentBean()
Returns the parent bean wrt this bean.
|
String |
getPath()
This returns the absolute path of the backing jcr node for this bean, for example /documents/content/myprojec/news/article
When the jcr node is virtual, it returns the virtual path.
|
Map<String,Object> |
getProperties()
Same as
getProperty(String) , where getProperty is only there for having a nice .getProperty['propname'] in jsp expression language |
Map<String,Object> |
getProperty() |
<T> T |
getProperty(String name)
Return types can be of type String, String[], Boolean, Boolean[], Long, Long[], Double, Double[] or Calendar, Calendar[]
|
<T> T |
getProperty(String name,
T defaultValue)
If the property does not exist, return the
defaultValue . |
JCRValueProvider |
getValueProvider() |
boolean |
isAncestor(HippoBean compare)
Returns
true when this HippoBean is an ancestor of the compare HippoBean. |
boolean |
isDescendant(HippoBean compare)
Returns
true when this HippoBean is an descendant of the compare HippoBean. |
boolean |
isHippoDocumentBean() |
boolean |
isHippoFolderBean() |
boolean |
isLeaf() |
boolean |
isSelf(HippoBean compare)
Returns
true when this HippoBean has a underlying jcr node with the same jcr path as the
compare HippoBean. |
getIdentifier, setIdentifier
getObjectConverter, setObjectConverter
compareTo
javax.jcr.Node getNode()
null
if the bean is detachedJCRValueProvider getValueProvider()
String getName()
null
String getDisplayName()
hippo:name
property
or the node name of the backing jcr node if no such property existshippo:name
property
or the node name of the backing jcr node if no such proeprty exists@Deprecated String getLocalizedName()
getDisplayName()
instead. Deprecated since 4.0.0HippoNode
is returns HippoNode.getDisplayName()
()},
otherwise Item.getName()
null
when some RepositoryException
happensString getPath()
String getCanonicalUUID()
null
when
For HippoDocumentBean
's, the uuid of the handle might be more valuable, which you can get with HippoDocumentBean.getCanonicalHandleUUID()
.
null
HippoDocumentBean.getCanonicalHandleUUID()
String getCanonicalPath()
null
when
For HippoDocumentBean
's, the uuid of the handle might be more valuable, which you can get with HippoDocumentBean.getCanonicalHandleUUID()
.
null
HippoDocumentBean.getCanonicalHandlePath()
Map<String,Object> getProperties()
getProperty(String)
, where getProperty is only there for having a nice .getProperty['propname'] in jsp expression language<T> T getProperty(String name)
T
- name
- the name of the propertynull
if it does not exist. The return type is either String, String[], Boolean, Boolean[], Long, Long[], Double, Double[] or Calendar, Calendar[]<T> T getProperty(String name, T defaultValue)
defaultValue
. If the property does exist, the same value as getProperty(String)
will be returned
Return types can be of type String, String[], Boolean, Boolean[], Long, Long[], Double, Double[] or Calendar, Calendar[]T
- name
- the name of the propertydefaultValue
if it does not exist. The return type is either String, String[], Boolean, Boolean[], Long, Long[], Double, Double[] or Calendar, Calendar[]Map<String,Object> getProperty()
<T> T getBean(String relPath)
HippoBean
with the relative path relPath. A relPath is not allowed to start with a "/",
as this is considered to be an absolute path.
For example getBean("x/y")
is a valid relative path. "../x"
is also supported, but dis-encouraged as the "../"
works directly on jcr level, which
does not take the hippo:handle
intermediate node into account in case of a HippoDocument bean. Always preferred to use is getParentBean()
instead
of using "../"
. In case of a HippoDocument kind of bean, the getParentBean()
jumps to the parent of the handle, while ../
jumps to the handle, resulting
in the exact same bean in case of a HippoDocumentrelPath
- a path that does not start with a "/"HippoBean
with relative path relPath
to this bean, or null
when it does not exist, or when the relPath is not a valid relative path<T extends HippoBean> T getBean(String relPath, Class<T> beanMappingClass)
beanMappingClass
, it is returned, and otherwise null
is returned.T
- relPath
- a path that does not start with a "/"beanMappingClass
- the class T
that the child bean must inherit fromHippoBean
of (sub)type beanMappingClass with relative path relPath
to this bean, or null
when it does not exist, is not of (sub)type beanMappingClass, or when the relPath is not a valid relative pathgetBean(String)
<T extends HippoBean> List<T> getChildBeans(Class<T> beanMappingClass)
Returns all the child beans as a List
with elements of type T
. When a child bean
is found that is not of type beanMappingClass
, it is skipped
If you want all child beans that can be mapped to a HippoBean
, just call
List
T
- the return type of the child beanbeanMappingClass
- the class T
that the child beans must inherit from<T> List<T> getChildBeansByName(String childNodeName) throws ClassCastException
childNodeName
as a List
with elements of type
T
. When a found bean is not of type T
a ClassCastException
is thrown.T
- the return type of the child beanchildNodeName
- ClassCastException
<T extends HippoBean> List<T> getChildBeansByName(String childNodeName, Class<T> beanMappingClass)
Returns all the child beans of name childNodeName
as a List
with elements of type T
. When a child bean
is found that is not of type beanMappingClass
, it is skipped
If the beanMappingClass
is null
, it is ignored. Then, this method returns the same a getChildBeansByName(String)
and
can throw a ClassCastException
T
- the return type of the child beanchildNodeName
- beanMappingClass
- the class T
that the child beans must inherit from<T> List<T> getChildBeans(String jcrPrimaryNodeType)
T
- the return type of the List
elementsjcrPrimaryNodeType
- the primary type the child beans should inherit from<T extends HippoBean> T getLinkedBean(String relPath, Class<T> beanMappingClass)
This method returns the HippoBean
linked by relPath
of type beanMappingClass. It returns
a HippoBean
if and only if
relPath
points to a node of (sub)type hippo:mirror
or
of (sub)type hippo:facetselect
hippo:docbase
of the mirror points to an existing node that results in a HippoBean
of type beanMappingClass
null
is returned.T
- the expected type of the linked beanrelPath
- (path not starting with a "/")beanMappingClass
- the expected class of the linked beanHippoBean
or null
<T extends HippoBean> List<T> getLinkedBeans(String relPath, Class<T> beanMappingClass)
getLinkedBean(String, Class)
only now all linked beans found at relPath
are returned.
When no linked beans found, an empty list is returned.getLinkedBean(String, Class)
HippoBean getParentBean()
null
<T extends HippoBean> T getCanonicalBean()
HippoBean
or null
in case that the backing Node
is pure virtual, which
is the case for example for some faceted navigation nodes. When an exception happens null
can be returnedT
- HippoBean
or null
in case that the backing Node
is pure virtual or when
some exception happenedboolean isHippoDocumentBean()
true
is this HippoBean is an instanceof HippoDocumentBean
boolean isHippoFolderBean()
true
is this HippoBean is an instanceof HippoFolderBean
boolean isLeaf()
true
when the backing jcr Node has no child nodesboolean isAncestor(HippoBean compare)
true
when this HippoBean
is an ancestor of the compare
HippoBean.
Note that this is done by the jcr path of the backing jcr node. In case of a virtual node, the virtual path
is taken.compare
- true
when this HippoBean
is an ancestor of the compare
HippoBean.boolean isDescendant(HippoBean compare)
true
when this HippoBean
is an descendant of the compare
HippoBean.
Note that this is done by the jcr path of the backing jcr node. In case of a virtual node, the virtual path
is taken. This means, that although the canonical nodes of the backing jcr nodes might return true for this method, this
does not automatically holds for the beans of the virtual nodes.compare
- true
when this HippoBean
is an descendant of the compare
HippoBean.boolean isSelf(HippoBean compare)
true
when this HippoBean
has a underlying jcr node with the same jcr path as the
compare
HippoBean. This means, that two HippoBeans might have the same canonical underlying jcr node, but
do not return true
because their virtual node might have different jcr paths.compare
- true
when this HippoBean
has the same underlying jcr node path as the compare
HippoBean.<T extends HippoBean> HippoAvailableTranslationsBean<T> getAvailableTranslations()
HippoDocumentBean
and HippoFolderBean
can have a HippoAvailableTranslationsBean
. However, to make sure that on
any HippoBean
you can call getAvailableTranslations()
, we add it to the base HippoBean
as well.HippoAvailableTranslationsBean
.boolean equalCompare(Object compare)
Object.equals(Object)
to compare the jcr node path, which might be a virtual path. So this method can
return true while Object.equals(Object)
returns falsecompare
- the object to compare totrue
if the object compared has the same canonical node or the same virtual path when they don't have a canonicalMap<Object,Object> getEqualComparator()
${mydocument.equalComparator[otherdocument]}
returns true when mydocument and otherdocument have the same canonical node
If there is no canonical node the virtual jcr path is used to compare the items: if these paths are the same, true is returned
Note: this method compares the jcr path of the backing canonical jcr nodes. All implementing classes override
Object.equals(Object)
to compare the jcr node path, which might be a virtual path. So this method can
return true while Object.equals(Object)
returns falseCopyright © 2008–2017 Hippo B.V. (http://www.onehippo.com). All rights reserved.