Author: reto
Date: Mon Jan 12 19:46:26 2015
New Revision: 1651183

URL: http://svn.apache.org/r1651183
Log:
COMMONSSITE-80: simplified Graph / ImmutableGraph Structure, added getLock 
method to Graph

Added:
    commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java
      - copied, changed from r1646739, 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/TripleCollection.java
    
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/ImmutableGraph.java
      - copied, changed from r1651181, 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java
Removed:
    commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/MGraph.java
    
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/TripleCollection.java
Modified:
    commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Iri.java
    
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/AddEvent.java
    
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/GraphEvent.java
    
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/RemoveEvent.java

Copied: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java (from 
r1646739, 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/TripleCollection.java)
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java?p2=commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java&p1=commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/TripleCollection.java&r1=1646739&r2=1651183&rev=1651183&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/TripleCollection.java
 (original)
+++ commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java 
Mon Jan 12 19:46:26 2015
@@ -20,6 +20,7 @@ package org.apache.commons.rdf;
 
 import java.util.Collection;
 import java.util.Iterator;
+import java.util.concurrent.locks.ReadWriteLock;
 import org.apache.commons.rdf.event.FilterTriple;
 import org.apache.commons.rdf.event.GraphListener;
 
@@ -33,7 +34,7 @@ import org.apache.commons.rdf.event.Grap
  *
  * @author reto
  */
-public interface TripleCollection extends Collection<Triple> {
+public interface Graph extends Collection<Triple> {
     
     /**
      * Filters triples given a pattern. 
@@ -103,4 +104,42 @@ public interface TripleCollection extend
      * @param listener The listener to be removed.
      */
     public void removeGraphListener(GraphListener listener);
+    
+    /**
+     * Returns true if <code>other</code> describes the same graph and will 
+     * always describe the same graph as this instance, false otherwise. 
+     * It returns true if this == other or if it
+     * is otherwise guaranteed that changes to one of the instances are
+     * immediately reflected in the other or if both graphs are immutable.
+     *
+     * @param other
+     * @return true if other == this
+     */
+    @Override
+    public boolean equals(Object other);
+
+    /**
+     * Returns an ImutableGraph describing the graph at the current point in 
+     * time. if <code>this</code> is an instance of ImmutableGraph this can 
+     * safely return <code>this</code>.
+     *
+     * @return the current time slice of the possibly mutable graph 
represented by the instance.
+     */
+    public ImmutableGraph getImmutableGraph();
+    
+    /**
+     * The lock provided by this methods allows to create read- and write-locks
+     * that span multiple method calls. Having a read locks prevents other
+     * threads from writing to this Graph, having a write-lock prevents other
+     * threads from reading and writing. Implementations would typically
+     * return a <code>java.util.concurrent.locks.ReentrantReadWriteLock</code>.
+     * Immutable instances (such as instances of <code>ImmutableGraph</code>)
+     * or instances used in transaction where concurrent acces of the same 
+     * instance is not an issue may return a no-op ReadWriteLock (i.e. one
+     * which returned ReadLock and WriteLock instances of which the methods do 
+     * not do anything)
+     *
+     * @return the lock of this Graph
+     */
+    ReadWriteLock getLock();
 }

Copied: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/ImmutableGraph.java
 (from r1651181, 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java)
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/ImmutableGraph.java?p2=commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/ImmutableGraph.java&p1=commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java&r1=1651181&r2=1651183&rev=1651183&view=diff
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Graph.java 
(original)
+++ 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/ImmutableGraph.java
 Mon Jan 12 19:46:26 2015
@@ -31,7 +31,7 @@ package org.apache.commons.rdf;
  * @author reto
  *
  */
-public interface Graph extends TripleCollection {
+public interface ImmutableGraph extends Graph {
 
     /** 
      * Returns true if two graphs are isomorphic

Modified: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Iri.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Iri.java?rev=1651183&r1=1651182&r2=1651183&view=diff
==============================================================================
--- commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Iri.java 
(original)
+++ commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/Iri.java Mon 
Jan 12 19:46:26 2015
@@ -74,7 +74,7 @@ public class Iri implements BlankNodeOrI
 
     @Override
     public String toString() {
-        StringBuffer buffer = new StringBuffer();
+        StringBuilder buffer = new StringBuilder();
         buffer.append('<');
         buffer.append(unicodeString);
         buffer.append('>');

Modified: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/AddEvent.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/AddEvent.java?rev=1651183&r1=1651182&r2=1651183&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/AddEvent.java
 (original)
+++ 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/AddEvent.java
 Mon Jan 12 19:46:26 2015
@@ -19,7 +19,7 @@
 package org.apache.commons.rdf.event;
 
 import org.apache.commons.rdf.Triple;
-import org.apache.commons.rdf.TripleCollection;
+import org.apache.commons.rdf.Graph;
 
 /**
  * This class represent a addition event that occured on a
@@ -30,7 +30,7 @@ import org.apache.commons.rdf.TripleColl
 public class AddEvent extends GraphEvent {
 
 
-    public AddEvent(TripleCollection graph,  Triple triple) {
+    public AddEvent(Graph graph,  Triple triple) {
         super(graph, triple);
     }
 

Modified: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/GraphEvent.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/GraphEvent.java?rev=1651183&r1=1651182&r2=1651183&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/GraphEvent.java
 (original)
+++ 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/GraphEvent.java
 Mon Jan 12 19:46:26 2015
@@ -19,7 +19,7 @@
 package org.apache.commons.rdf.event;
 
 import org.apache.commons.rdf.Triple;
-import org.apache.commons.rdf.TripleCollection;
+import org.apache.commons.rdf.Graph;
 
 /**
  * This class represent a modification event that occured on a
@@ -32,10 +32,10 @@ import org.apache.commons.rdf.TripleColl
  */
 public class GraphEvent {
 
-    private TripleCollection graph;
+    private Graph graph;
     private Triple triple;
 
-    protected GraphEvent(TripleCollection graph, Triple triple) {
+    protected GraphEvent(Graph graph, Triple triple) {
         this.graph = graph;
         this.triple = triple;
     }
@@ -44,7 +44,7 @@ public class GraphEvent {
      * Returns the <code>TripleCollection</code> that was modified in the 
event.
      * @return the graph
      */
-    public TripleCollection getGraph() {
+    public Graph getGraph() {
         return graph;
     }
 

Modified: 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/RemoveEvent.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/RemoveEvent.java?rev=1651183&r1=1651182&r2=1651183&view=diff
==============================================================================
--- 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/RemoveEvent.java
 (original)
+++ 
commons/sandbox/rdf/trunk/src/main/java/org/apache/commons/rdf/event/RemoveEvent.java
 Mon Jan 12 19:46:26 2015
@@ -19,7 +19,7 @@
 package org.apache.commons.rdf.event;
 
 import org.apache.commons.rdf.Triple;
-import org.apache.commons.rdf.TripleCollection;
+import org.apache.commons.rdf.Graph;
 
 /**
  * This class represent a removal event that occured on a
@@ -30,7 +30,7 @@ import org.apache.commons.rdf.TripleColl
 public class RemoveEvent extends GraphEvent {
 
 
-    public RemoveEvent(TripleCollection graph,  Triple triple) {
+    public RemoveEvent(Graph graph,  Triple triple) {
         super(graph, triple);
     }
 


Reply via email to