org.chromattic.core.jcr
Class ReferenceLinkManager

java.lang.Object
  extended by org.chromattic.core.jcr.AbstractLinkManager
      extended by org.chromattic.core.jcr.ReferenceLinkManager

public class ReferenceLinkManager
extends AbstractLinkManager

The reference manager takes care of managing references between nodes. The main reason is that JCR reference management is a bit weird about the usage of Node#getReferences(). The goal of this class is to manage one to many relationships between nodes and their consistency.

The life time of this object is valid from the beginning of the session until the session or a portion of the session is saved. When a session is saved, the clear operation will reset the state of the reference manager.

Version:
$Revision$
Author:
Julien Viet

Field Summary
 
Fields inherited from class org.chromattic.core.jcr.AbstractLinkManager
session
 
Constructor Summary
ReferenceLinkManager(javax.jcr.Session session)
           
 
Method Summary
protected  javax.jcr.Node _getReferenced(javax.jcr.Property property)
           
protected  java.util.Iterator<javax.jcr.Node> _getReferents(javax.jcr.Node referenced, java.lang.String propertyName)
           
protected  void _setReferenced(javax.jcr.Node referent, java.lang.String propertyName, javax.jcr.Node referenced)
           
 
Methods inherited from class org.chromattic.core.jcr.AbstractLinkManager
clear, getReferenced, getReferents, setReferenced
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ReferenceLinkManager

public ReferenceLinkManager(javax.jcr.Session session)
Method Detail

_getReferenced

protected javax.jcr.Node _getReferenced(javax.jcr.Property property)
                                 throws javax.jcr.RepositoryException
Specified by:
_getReferenced in class AbstractLinkManager
Throws:
javax.jcr.RepositoryException

_setReferenced

protected void _setReferenced(javax.jcr.Node referent,
                              java.lang.String propertyName,
                              javax.jcr.Node referenced)
                       throws javax.jcr.RepositoryException
Specified by:
_setReferenced in class AbstractLinkManager
Throws:
javax.jcr.RepositoryException

_getReferents

protected java.util.Iterator<javax.jcr.Node> _getReferents(javax.jcr.Node referenced,
                                                           java.lang.String propertyName)
                                                    throws javax.jcr.RepositoryException
Specified by:
_getReferents in class AbstractLinkManager
Throws:
javax.jcr.RepositoryException


Copyright © 2012 eXo Platform SAS. All Rights Reserved.