From jbosscache-commits at lists.jboss.org Wed Jun 25 09:29:24 2008 Content-Type: multipart/mixed; boundary="===============6315134894961706029==" MIME-Version: 1.0 From: jbosscache-commits at lists.jboss.org To: jbosscache-commits at lists.jboss.org Subject: [jbosscache-commits] JBoss Cache SVN: r6031 - in core/trunk/src/main/java/org/jboss/cache: mvcc and 1 other directory. Date: Wed, 25 Jun 2008 09:29:24 -0400 Message-ID: --===============6315134894961706029== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: manik.surtani(a)jboss.com Date: 2008-06-25 09:29:24 -0400 (Wed, 25 Jun 2008) New Revision: 6031 Added: core/trunk/src/main/java/org/jboss/cache/mvcc/ core/trunk/src/main/java/org/jboss/cache/mvcc/InternalNode.java Modified: core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java Log: Added an InternalNode interface to UnversionedNode Added new constructor for UnversionedNode to aid unit testing Modified: core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java 2008-06-2= 5 13:25:40 UTC (rev 6030) +++ core/trunk/src/main/java/org/jboss/cache/UnversionedNode.java 2008-06-2= 5 13:29:24 UTC (rev 6031) @@ -14,6 +14,7 @@ import org.jboss.cache.lock.IdentityLock; import org.jboss.cache.lock.LockStrategyFactory; import org.jboss.cache.marshall.MarshalledValue; +import org.jboss.cache.mvcc.InternalNode; import org.jboss.cache.optimistic.DataVersion; import org.jboss.cache.transaction.GlobalTransaction; = @@ -32,7 +33,7 @@ * @since 2.0.0 */ @SuppressWarnings("unchecked") -public class UnversionedNode extends AbstractNode +public class UnversionedNode extends AbstractNode implements I= nternalNode { /** * Debug log. @@ -70,8 +71,16 @@ } = /** + * Constructs a new node a given Fqn + */ + public UnversionedNode(Fqn fqn) + { + this.fqn =3D fqn; + initFlags(); + } + + /** * Constructs a new node with a name, etc. - * */ protected UnversionedNode(Object childName, Fqn fqn, Map data, CacheSPI= cache) { @@ -722,6 +731,19 @@ setFlag(LOCK_FOR_CHILD_INSERT_REMOVE, lockForChildInsertRemove); } = + public InternalNode clone() + { + try + { + return (InternalNode) super.clone(); + } + catch (CloneNotSupportedException e) + { + // do nothing + return null; + } + } + public void setInternalState(Map state) { // don't bother doing anything here Added: core/trunk/src/main/java/org/jboss/cache/mvcc/InternalNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/src/main/java/org/jboss/cache/mvcc/InternalNode.java = (rev 0) +++ core/trunk/src/main/java/org/jboss/cache/mvcc/InternalNode.java 2008-06= -25 13:29:24 UTC (rev 6031) @@ -0,0 +1,119 @@ +package org.jboss.cache.mvcc; + +import org.jboss.cache.CacheSPI; +import org.jboss.cache.Fqn; +import org.jboss.cache.Node; +import org.jboss.cache.NodeSPI; +import org.jboss.cache.lock.NodeLock; +import org.jboss.cache.optimistic.DataVersion; +import org.jboss.cache.transaction.GlobalTransaction; + +import java.util.Map; +import java.util.Set; + +/** + * // TODO Document this + * + * @author Manik Surtani (manik(a)jbo= ss.org) + * @since 3.0 + */ +public interface InternalNode +{ + NodeSPI getParent(); + + CacheSPI getCache(); + + boolean isChildrenLoaded(); + + void setChildrenLoaded(boolean flag); + + Object getDirect(Object key); + + Map getDataDirect(); + + Object putDirect(Object key, Object value); + + NodeSPI getOrCreateChild(Object child_name, GlobalTransaction gtx, bool= ean notify); + + Object removeDirect(Object key); + + void addChildDirect(NodeSPI child); + + NodeSPI addChildDirect(Fqn f); + + NodeSPI addChildDirect(Fqn f, boolean notify); + + NodeSPI addChildDirect(Object o, boolean notify); + + void clearDataDirect(); + + NodeSPI getChildDirect(Fqn fqn); + + Set getChildrenNamesDirect(); + + Set getKeysDirect(); + + boolean removeChildDirect(Object childName); + + boolean removeChildDirect(Fqn f); + + Map> getChildrenMapDirect(); + + void setChildrenMapDirect(Map> children); + + void putAllDirect(Map data); + + void removeChildrenDirect(); + + void setVersion(DataVersion version); + + DataVersion getVersion(); + + Fqn getFqn(); + + void setFqn(Fqn fqn); + + NodeSPI getChildDirect(Object childName); + + Set getChildrenDirect(); + + boolean hasChildrenDirect(); + + Set getChildrenDirect(boolean includeMarkedForRemoval); + + boolean isDataLoaded(); + + void setDataLoaded(boolean dataLoaded); + + boolean isValid(); + + void setValid(boolean valid, boolean recursive); + + boolean isLockForChildInsertRemove(); + + void setLockForChildInsertRemove(boolean lockForChildInsertRemove); + + void setInternalState(Map state); + + Map getInternalState(boolean onlyInternalState); + + void releaseObjectReferences(boolean recursive); + + boolean isDeleted(); + + void markAsDeleted(boolean marker); + + void markAsDeleted(boolean marker, boolean recursive); + + void setResident(boolean resident); + + boolean isResident(); + + InternalNode clone(); + + NodeLock getLock(); + + void addChild(Object nodeName, Node nodeToAdd); + + void printDetails(StringBuffer sb, int indent); +} --===============6315134894961706029==--