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 extends HippoBean> |
getAvailableTranslationsBean()
Deprecated.
since 2.26.01 : Use
getAvailableTranslations() instead |
<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) |
<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)
|
HippoBean |
getContextualBean()
Deprecated.
since 2.25.02 : use
getCanonicalBean() instead. The only different is, that getContextualBean() returns
the current HippoBean instance when there exists no canonical version of the backing jcr Node, whereas getCanonicalBean() in that
case returns null |
HippoBean |
getContextualParentBean()
Deprecated.
since 2.25.02 : Use #getParentBean instead. Returns the same as #getParentBean
|
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, or null if no bean found or not of (sub)type beanMappingClass. |
<T extends HippoBean> |
getLinkedBeans(String relPath,
Class<T> beanMappingClass)
This method returns all the
HippoBean 's linked by relPath of type beanMappingClass as a List, or an Empty list if no bean found or not of (sub)type beanMappingClass. |
String |
getLocalizedName()
This returns the localized node name of the backing jcr node for this bean.
|
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 getLocalizedName()
HippoNode
is returns HippoNode.getLocalizedName()
,
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)
T
- relPath
- a path that does not start with a "/"beanMappingClass
- the class T
that the child bean must be offHippoBean
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 path<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 be off<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 be off.<T> List<T> getChildBeans(String jcrPrimaryNodeType)
T
- the return type of the List
elementsjcrPrimaryNodeType
- the primary type the child beans should be off<T extends HippoBean> T getLinkedBean(String relPath, Class<T> beanMappingClass)
HippoBean
linked by relPath
of type beanMappingClass, or null
if no bean found or not of (sub)type beanMappingClass.
Only a bean can be returned if, and only if, the bean at relPath
is a bean of type HippoMirrorBean
(thus either a hippo:mirror or
hippo:facetselect). If a mirror bean is found, and the mirror points to a bean of (sub)type beanMappingClass
, then, this bean is returned. In all other cases,
null
is returnedT
- relPath
- (path not starting with a "/")beanMappingClass
- HippoBean
of (sub)type beanMappingClass where the link has 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 path<T extends HippoBean> List<T> getLinkedBeans(String relPath, Class<T> beanMappingClass)
HippoBean
's linked by relPath
of type beanMappingClass as a List, or an Empty
list if no bean found or not of (sub)type beanMappingClass.
if the relPath is something like: foo/bar/my:links, then, all first the node foo/bar is fetched, and then all beans are returned that have
name 'my:links'T
- relPath
- (path not starting with a "/")beanMappingClass
- #getBean(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 happened@Deprecated HippoBean getContextualBean()
getCanonicalBean()
instead. The only different is, that getContextualBean()
returns
the current HippoBean
instance when there exists no canonical version of the backing jcr Node, whereas getCanonicalBean()
in that
case returns null
Expert: Returns the 'real' contextual (preview / live context) bean version of this bean. Most of the time, this is just the current bean. However,
when the current bean is below some parent bean because it was mirrored by this parent, then, this method returns
the 'real' contextual version, where the getParentBean()
also returns the contextualized version of the physical parent
If the bean for which this this method is invoked is purely virtual (as in, the backing jcr node provider does not have a canonical equivalent, for example in case of a faceted navigation node), just the current instance is returned
note: this is quite an expensive checknull
if it fails to contextualize this bean@Deprecated HippoBean getContextualParentBean()
null
#getParentBean()}, only this method returns the 'real' contextual parent bean. Suppose I have some HippoBean (= myBean), that
I got through a mirror, in other, words, the HippoBean is below the document (=docA) that had the mirror (link). {@link #getParentBean()} will
return docA
, but this is not the 'real' contextual parent bean of myBean
. The 'real' contextual parent can be
fetched through this method. Note, that when myBean
was not the result of a mirror, that {@link #getParentBean()} will then return the
same bean
note: this is quite an expensive check
boolean 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.@Deprecated <T extends HippoBean> HippoAvailableTranslationsBean<T> getAvailableTranslationsBean()
getAvailableTranslations()
instead<T extends HippoBean> HippoAvailableTranslationsBean<T> getAvailableTranslations()
HippoDocumentBean
and HippoFolderBean
can have a HippoAvailableTranslationsBean
. However, to make sure that on
any HippoBean
you can call getAvailableTranslationsBean()
, we add it to the base HippoBean
as well.HippoAvailableTranslationsBean
.boolean equalCompare(Object compare)
#equals(Object)
tests
the jcr node path, which might be a virtual path. So this method can return true while #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. The #equals(Object)
tests
the jcr node path, which might be a virtual path. So this method can return true while #equals(Object)
returns falseCopyright © 2008-2013 Hippo B.V. (http://www.onehippo.com). All Rights Reserved.