public class MockHippoBean extends Object implements HippoBean
Constructor and Description |
---|
MockHippoBean() |
Modifier and Type | Method and Description |
---|---|
int |
compareTo(HippoBean o) |
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() |
<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()
Expert: Returns the 'real' contextual (preview / live context) bean version of this bean.
|
HippoBean |
getContextualParentBean()
Expert: Returns the parent bean in the context of live/preview.
|
Map<Object,Object> |
getEqualComparator()
A convenience method capable of comparing two HippoBean instances for you for the underlying jcr node.
|
String |
getIdentifier()
This returns the identifier of the backing provider for this bean, for example some UUID or
/documents/content/myprojec/news/article or http://www.example.com/foo/bar, or a RDBMS id, etc
It is not allowed for any implementation to return
null |
<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.
|
ObjectConverter |
getObjectConverter() |
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
HippoBean.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. |
void |
setIdentifier(String identifier) |
void |
setNode(javax.jcr.Node node)
Callback that supplies the originating JCR node.
|
void |
setObjectConverter(ObjectConverter objectConverter)
Callback that supplies the object converter.
|
public boolean equalCompare(Object compare)
HippoBean
#equals(Object)
tests
the jcr node path, which might be a virtual path. So this method can return true while #equals(Object)
returns falseequalCompare
in interface HippoBean
compare
- 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 canonicalpublic <T extends HippoBean> HippoAvailableTranslationsBean<T> getAvailableTranslationsBean()
getAvailableTranslationsBean
in interface HippoBean
public <T extends HippoBean> HippoAvailableTranslationsBean<T> getAvailableTranslations()
HippoBean
HippoDocumentBean
and HippoFolderBean
can have a HippoAvailableTranslationsBean
. However, to make sure that on
any HippoBean
you can call HippoBean.getAvailableTranslationsBean()
, we add it to the base HippoBean
as well.getAvailableTranslations
in interface HippoBean
HippoAvailableTranslationsBean
.public <T> T getBean(String relPath)
HippoBean
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 HippoBean.getParentBean()
instead
of using "../"
. In case of a HippoDocument kind of bean, the HippoBean.getParentBean()
jumps to the parent of the handle, while ../
jumps to the handle, resulting
in the exact same bean in case of a HippoDocumentpublic <T extends HippoBean> T getBean(String relPath, Class<T> beanMappingClass)
getBean
in interface HippoBean
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 pathpublic String getCanonicalUUID()
HippoBean
null
when
For HippoDocumentBean
's, the uuid of the handle might be more valuable, which you can get with HippoDocumentBean.getCanonicalHandleUUID()
.
getCanonicalUUID
in interface HippoBean
null
HippoDocumentBean.getCanonicalHandleUUID()
public <T extends HippoBean> List<T> getChildBeans(Class<T> beanMappingClass)
HippoBean
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
getChildBeans
in interface HippoBean
T
- the return type of the child beanbeanMappingClass
- the class T
that the child beans must be offpublic <T> List<T> getChildBeans(String jcrPrimaryNodeType)
HippoBean
getChildBeans
in interface HippoBean
T
- the return type of the List
elementsjcrPrimaryNodeType
- the primary type the child beans should be offpublic <T> List<T> getChildBeansByName(String childNodeName) throws ClassCastException
HippoBean
childNodeName
as a List
with elements of type T
. When a found bean is not of type T
a
ClassCastException
is thrown.getChildBeansByName
in interface HippoBean
T
- the return type of the child beanClassCastException
public <T extends HippoBean> List<T> getChildBeansByName(String childNodeName, Class<T> beanMappingClass)
HippoBean
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 HippoBean.getChildBeansByName(String)
and
can throw a ClassCastException
getChildBeansByName
in interface HippoBean
T
- the return type of the child beanbeanMappingClass
- the class T
that the child beans must be off.public <T extends HippoBean> T getCanonicalBean()
HippoBean
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 returnedgetCanonicalBean
in interface HippoBean
HippoBean
or null
in case that the backing Node
is pure virtual or when
some exception happenedpublic HippoBean getContextualBean()
HippoBean
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 HippoBean.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 checkgetContextualBean
in interface HippoBean
null
if it fails to contextualize this beanpublic HippoBean getContextualParentBean()
HippoBean
getContextualParentBean
in interface HippoBean
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
public Map<Object,Object> getEqualComparator()
HippoBean
${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 falsegetEqualComparator
in interface HippoBean
public <T extends HippoBean> T getLinkedBean(String relPath, Class<T> beanMappingClass)
HippoBean
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 returnedgetLinkedBean
in interface HippoBean
relPath
- (path not starting with a "/")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 pathpublic <T extends HippoBean> List<T> getLinkedBeans(String relPath, Class<T> beanMappingClass)
HippoBean
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'getLinkedBeans
in interface HippoBean
relPath
- (path not starting with a "/")#getBean(String, Class)}
public String getLocalizedName()
HippoBean
HippoNode
is returns HippoNode.getLocalizedName()
,
otherwise Item.getName()
getLocalizedName
in interface HippoBean
null
when some RepositoryException
happenspublic String getName()
HippoBean
public javax.jcr.Node getNode()
HippoBean
public HippoBean getParentBean()
HippoBean
getParentBean
in interface HippoBean
null
public String getIdentifier()
IdentifiableContentBean
This returns the identifier of the backing provider for this bean, for example some UUID or
/documents/content/myprojec/news/article or http://www.example.com/foo/bar, or a RDBMS id, etc
It is not allowed for any implementation to return null
Since the return value for this method is used as the index document identifier, it must be unique for every bean that must be indexed
getIdentifier
in interface IdentifiableContentBean
IdentifiableContentBean
public void setIdentifier(String identifier)
setIdentifier
in interface IdentifiableContentBean
identifier
- sets the identifier for this IdentifiableContentBean
IdentifiableContentBean.getIdentifier()
public String getPath()
HippoBean
public Map<String,Object> getProperties()
HippoBean
HippoBean.getProperty(String)
, where getProperty is only there for having a nice .getProperty['propname'] in jsp expression languagegetProperties
in interface HippoBean
public <T> T getProperty(String name)
HippoBean
getProperty
in interface HippoBean
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[]public <T> T getProperty(String name, T defaultValue)
HippoBean
defaultValue
. If the property does exist, the same value as HippoBean.getProperty(String)
will be returned
Return types can be of type String, String[], Boolean, Boolean[], Long, Long[], Double, Double[] or Calendar, Calendar[]getProperty
in interface HippoBean
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[]public Map<String,Object> getProperty()
getProperty
in interface HippoBean
public JCRValueProvider getValueProvider()
getValueProvider
in interface HippoBean
public boolean isAncestor(HippoBean compare)
HippoBean
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.isAncestor
in interface HippoBean
true
when this HippoBean
is an ancestor of the compare
HippoBean.public boolean isDescendant(HippoBean compare)
HippoBean
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.isDescendant
in interface HippoBean
true
when this HippoBean
is an descendant of the compare
HippoBean.public boolean isHippoDocumentBean()
isHippoDocumentBean
in interface HippoBean
true
is this HippoBean is an instanceof HippoDocumentBean
public boolean isHippoFolderBean()
isHippoFolderBean
in interface HippoBean
true
is this HippoBean is an instanceof HippoFolderBean
public boolean isLeaf()
public boolean isSelf(HippoBean compare)
HippoBean
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.public void setNode(javax.jcr.Node node)
NodeAware
public ObjectConverter getObjectConverter()
getObjectConverter
in interface ObjectConverterAware
public void setObjectConverter(ObjectConverter objectConverter)
ObjectConverterAware
setObjectConverter
in interface ObjectConverterAware
public int compareTo(HippoBean o)
compareTo
in interface Comparable<HippoBean>
public String getCanonicalPath()
HippoBean
null
when
For HippoDocumentBean
's, the uuid of the handle might be more valuable, which you can get with HippoDocumentBean.getCanonicalHandleUUID()
.
getCanonicalPath
in interface HippoBean
null
HippoDocumentBean.getCanonicalHandlePath()
Copyright © 2008-2013 Hippo B.V. (http://www.onehippo.com). All Rights Reserved.