You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2011/05/19 17:34:57 UTC
svn commit: r1124946 - in /incubator/jena:
Experimental/TxTDB/trunk/src-dev/tx/
Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/
Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/
Jena2/ARQ/trunk/src-dev/dev/ Jena...
Author: andy
Date: Thu May 19 15:34:56 2011
New Revision: 1124946
URL: http://svn.apache.org/viewvc?rev=1124946&view=rev
Log:
Extract RefLong and MultiSet and move to ARQ.atlas
Added:
incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java (contents, props changed)
- copied, changed from r1124668, incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestMultiSet.java
incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java (contents, props changed)
- copied, changed from r1124668, incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestRefLong.java
incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java (with props)
incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java (with props)
Removed:
incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestMultiSet.java
incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestRefLong.java
Modified:
incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java
incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/BlockMgrTracker.java
incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/TS_Migrate.java
incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java
incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TS_Lib.java
Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/DevTx.java Thu May 19 15:34:56 2011
@@ -61,4 +61,6 @@ public class DevTx
*/
// TDB 0.8.10 is rev 8718; TxTDB forked at 8731
+ // Diff of SF ref 8718 to Apache cross over applied. (src/ only)
+ // Now Apache: rev 1124661
}
Modified: incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TxMain.java Thu May 19 15:34:56 2011
@@ -81,7 +81,7 @@ public class TxMain
blkMgr.beginUpdate() ;
Block block = blkMgr.allocate(-1) ;
blkMgr.release(block) ;
- blkMgr.release(block) ; // Need to check where an active bloock is - promote is one read -> write?
+ blkMgr.release(block) ; // Need to check where an active block is - promote is one read -> write?
Block block2 = blkMgr.allocate(-1) ;
blkMgr.endUpdate() ;
Modified: incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/BlockMgrTracker.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/BlockMgrTracker.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/BlockMgrTracker.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/main/java/com/hp/hpl/jena/tdb/base/block/BlockMgrTracker.java Thu May 19 15:34:56 2011
@@ -16,12 +16,13 @@ import static com.hp.hpl.jena.tdb.base.b
import static com.hp.hpl.jena.tdb.base.block.BlockMgrTracker.Action.Write ;
import java.util.ArrayList ;
-import java.util.HashMap ;
import java.util.Iterator ;
import java.util.List ;
import java.util.Map ;
+import org.openjena.atlas.lib.MultiSet ;
import org.openjena.atlas.lib.Pair ;
+import org.openjena.atlas.lib.RefLong ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -45,88 +46,6 @@ public class BlockMgrTracker /*extends B
// The use of AtomicInteger here isn't for the atomicity but because they are also "refs to ints"
- static final class RefLong
- {
- private long value ;
- public RefLong() { this(0) ; }
- public RefLong(long v) { value = v ; }
- public long value() { return value ; }
- public void inc() { value++ ; }
- public void dec() { --value ; }
- public long getAndInc() { return value++ ; }
- public long incAndGet() { return ++value ; }
- public long getAndDec() { return value-- ; }
- public long decAndGet() { return -value ; }
- public void add(long v) { value += v ; }
- public void set(long v) { value = v ; }
- @Override public String toString() { return "Ref:"+Long.toString(value) ; }
- // hashCode and equals are Object equality - this is a mutable object
- }
-
- static class MultiSet<T> implements Iterable<T>
- {
- private Map<T,RefLong> map = new HashMap<T,RefLong>() ;
- private RefLong get(T obj)
- {
- RefLong z = map.get(obj) ;
- if ( z == null )
- {
- z = new RefLong(0) ;
- map.put(obj, z) ;
- }
- return z ;
- }
-
- public boolean isEmpty() { return map.isEmpty() ; }
- public boolean contains(T obj) { return map.containsKey(obj) ; }
- public void add(T obj) { get(obj).inc(); }
- public void remove(T obj)
- {
- RefLong x = map.get(obj) ;
- if ( x == null ) return ;
- x.dec() ;
- if ( x.value() == 0 )
- map.remove(obj) ;
- }
- public void clear() { map.clear() ; }
- public long count(T obj)
- {
- if ( ! map.containsKey(obj) ) return 0 ;
- return map.get(obj).value() ;
- }
-
- @Override
- public Iterator<T> iterator()
- {
- // CRUDE
- // TODO Fixme
- List<T> expanded = new ArrayList<T>() ;
- for ( Map.Entry<T, RefLong> e : map.entrySet() )
- {
- for ( int i = 0 ; i < e.getValue().value() ; i++ )
- expanded.add(e.getKey()) ;
- }
-
- return expanded.iterator() ;
- }
-
- @Override public String toString()
- {
- StringBuilder sb = new StringBuilder() ;
- String sep = "" ;
- for ( Map.Entry<T, RefLong> e : map.entrySet() )
- {
- sb.append(sep) ;
- sep = ", " ;
- sb.append(e.getKey().toString()) ;
- sb.append("=") ;
- sb.append(Long.toString(e.getValue().value())) ;
- }
-
- return sb.toString() ;
- }
-
- }
private static boolean contains(Map<Integer,RefLong> x, Integer id) { return x.containsKey(id) ; }
protected final MultiSet<Integer> activeReadBlocks = new MultiSet<Integer>() ;
Modified: incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/TS_Migrate.java
URL: http://svn.apache.org/viewvc/incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/TS_Migrate.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/TS_Migrate.java (original)
+++ incubator/jena/Experimental/TxTDB/trunk/src/test/java/com/hp/hpl/jena/tdb/migrate/TS_Migrate.java Thu May 19 15:34:56 2011
@@ -14,7 +14,6 @@ import com.hp.hpl.jena.tdb.junit.Base_TS
@RunWith(Suite.class)
@Suite.SuiteClasses( {
TestGraphUnionRead.class
- //,
})
public class TS_Migrate extends Base_TS
Modified: incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-dev/dev/DevARQ.java Thu May 19 15:34:56 2011
@@ -2,6 +2,11 @@ package dev ;
public class DevARQ
{
+ // Split pom into:
+ // downloadmaker
+ // Everything else.
+
+
// Rework documentation - extensions are now SPARQL 1.1-isms
// Config assembler.
Modified: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TS_Lib.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TS_Lib.java?rev=1124946&r1=1124945&r2=1124946&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TS_Lib.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TS_Lib.java Thu May 19 15:34:56 2011
@@ -28,6 +28,7 @@ import org.junit.runners.Suite ;
, TestStrUtils.class
, TestXMLLib.class
, TestAlarmClock.class
+ , TestRefLong.class
} )
public class TS_Lib
Copied: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java (from r1124668, incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestMultiSet.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java?p2=incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java&p1=incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestMultiSet.java&r1=1124668&r2=1124946&rev=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestMultiSet.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java Thu May 19 15:34:56 2011
@@ -4,11 +4,89 @@
* [See end of file]
*/
-package tx;
+package org.openjena.atlas.lib;
-public class TestMultiSet
+import java.util.Arrays ;
+import java.util.Collections ;
+import java.util.List ;
+
+import org.junit.Test ;
+import org.openjena.atlas.iterator.Iter ;
+import org.openjena.atlas.junit.BaseTest ;
+import org.openjena.atlas.lib.MultiSet ;
+
+
+public class TestMultiSet extends BaseTest
{
+ @Test public void multiSet_01()
+ {
+ MultiSet<String> x = new MultiSet<String>() ;
+ assertTrue(x.isEmpty()) ;
+ assertEquals(0, x.get("A")) ;
+ }
+
+ @Test public void multiSet_02()
+ {
+ MultiSet<String> x = new MultiSet<String>() ;
+ x.add("A") ;
+ assertFalse(x.isEmpty()) ;
+ assertEquals(1, x.get("A") ) ;
+ x.add("A") ;
+ assertEquals(2, x.get("A") ) ;
+ }
+
+ @Test public void multiSet_03()
+ {
+ MultiSet<String> x = new MultiSet<String>() ;
+ x.add("A") ;
+ x.add("A") ;
+ x.remove("A") ;
+ assertEquals(1, x.get("A") ) ;
+ assertTrue(x.contains("A")) ;
+ x.remove("A") ;
+ assertEquals(0, x.get("A") ) ;
+ assertFalse(x.contains("A")) ;
+ }
+
+ @Test public void multiSet_04()
+ {
+ String[] data = { } ;
+ iterTest(data) ;
+ }
+
+
+ @Test public void multiSet_05()
+ {
+ String[] data = { "A" } ;
+ iterTest(data) ;
+ }
+
+ @Test public void multiSet_06()
+ {
+ String[] data = { "A", "B", "C" } ;
+ iterTest(data) ;
+ }
+
+
+ @Test public void multiSet_07()
+ {
+ String[] data = { "A", "B", "C", "A" } ;
+ iterTest(data) ;
+ }
+
+ private static void iterTest(String[] data)
+ {
+ List<String> expected = Arrays.asList(data) ;
+ MultiSet<String> x = new MultiSet<String>() ;
+ for ( String str : data )
+ x.add(str) ;
+ List<String> actual = Iter.toList(x.iterator()) ;
+ Collections.sort(expected) ;
+ Collections.sort(actual) ;
+ assertEquals(expected, actual) ;
+ }
+
}
/*
Propchange: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestMultiSet.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java (from r1124668, incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestRefLong.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java?p2=incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java&p1=incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestRefLong.java&r1=1124668&r2=1124946&rev=1124946&view=diff
==============================================================================
--- incubator/jena/Experimental/TxTDB/trunk/src-dev/tx/TestRefLong.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java Thu May 19 15:34:56 2011
@@ -4,10 +4,56 @@
* [See end of file]
*/
-package tx;
+package org.openjena.atlas.lib;
-public class TestRefLong
+import org.junit.Test ;
+import org.openjena.atlas.junit.BaseTest ;
+import org.openjena.atlas.lib.RefLong ;
+
+
+public class TestRefLong extends BaseTest
{
+ @Test public void ref_01()
+ {
+ RefLong ref1 = new RefLong() ;
+ assertEquals(0, ref1.value()) ;
+ RefLong ref2 = new RefLong() ;
+ assertNotSame(ref1, ref2) ;
+ }
+
+ @Test public void ref_02()
+ {
+ RefLong ref = new RefLong() ;
+ assertEquals(0, ref.value()) ;
+ ref.inc() ;
+ assertEquals(1, ref.value()) ;
+ ref.dec() ;
+ assertEquals(0, ref.value()) ;
+ }
+
+ @Test public void ref_03()
+ {
+ RefLong ref = new RefLong(99) ;
+ assertEquals(99, ref.value()) ;
+ long x = ref.incAndGet() ;
+ assertEquals(100, x) ;
+ assertEquals(100, ref.value()) ;
+ x = ref.getAndInc() ;
+ assertEquals(100, x) ;
+ assertEquals(101, ref.value()) ;
+ }
+
+ @Test public void ref_04()
+ {
+ RefLong ref = new RefLong(99) ;
+ assertEquals(99, ref.value()) ;
+ long x = ref.decAndGet() ;
+ assertEquals(98, x) ;
+ assertEquals(98, ref.value()) ;
+ x = ref.getAndDec() ;
+ assertEquals(98, x) ;
+ assertEquals(97, ref.value()) ;
+ }
}
Propchange: incubator/jena/Jena2/ARQ/trunk/src-test/org/openjena/atlas/lib/TestRefLong.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java?rev=1124946&view=auto
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java (added)
+++ incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java Thu May 19 15:34:56 2011
@@ -0,0 +1,169 @@
+/*
+ * (c) Copyright 2011 Epimorphics Ltd.
+ * All rights reserved.
+ * [See end of file]
+ */
+
+package org.openjena.atlas.lib;
+
+import java.util.ArrayList ;
+import java.util.HashMap ;
+import java.util.Iterator ;
+import java.util.List ;
+import java.util.Map ;
+import java.util.NoSuchElementException ;
+
+public class MultiSet<T> implements Iterable<T>
+{
+ private Map<T,RefLong> map = new HashMap<T,RefLong>() ;
+ private RefLong _get(T obj)
+ {
+ RefLong z = map.get(obj) ;
+ if ( z == null )
+ {
+ z = new RefLong(0) ;
+ map.put(obj, z) ;
+ }
+ return z ;
+ }
+
+ public boolean isEmpty() { return map.isEmpty() ; }
+ public boolean contains(T obj) { return map.containsKey(obj) ; }
+ public void add(T obj) { _get(obj).inc(); }
+ public long get(T obj)
+ {
+ RefLong z = map.get(obj) ;
+ if ( z == null )
+ return 0 ;
+ return z.value() ;
+ }
+
+ public void remove(T obj)
+ {
+ RefLong x = map.get(obj) ;
+ if ( x == null ) return ;
+ x.dec() ;
+ if ( x.value() == 0 )
+ map.remove(obj) ;
+ }
+ public void clear() { map.clear() ; }
+ public long count(T obj)
+ {
+ if ( ! map.containsKey(obj) ) return 0 ;
+ return map.get(obj).value() ;
+ }
+
+ //@Override
+ private Iterator<T> iterator1()
+ {
+ // CRUDE
+ List<T> expanded = new ArrayList<T>() ;
+ for ( Map.Entry<T, RefLong> e : map.entrySet() )
+ {
+ for ( int i = 0 ; i < e.getValue().value() ; i++ )
+ expanded.add(e.getKey()) ;
+ }
+
+ return expanded.iterator() ;
+ }
+
+ //@Override
+ public Iterator<T> iterator()
+ {
+ return new Iterator<T>() {
+
+ Iterator<T> keys = map.keySet().iterator() ;
+ T key = null ;
+ long count = 0 ;
+ T slot = null ;
+
+ //@Override
+ public boolean hasNext()
+ {
+ if ( slot != null )
+ return true ;
+
+ if ( keys == null )
+ return false ;
+
+ if ( key != null )
+ {
+ if ( count < get(key) )
+ {
+ count++ ;
+ slot = key ;
+ return true ;
+ }
+ // End of this key.
+ key = null ;
+ }
+
+ if ( keys.hasNext() )
+ {
+ key = keys.next() ;
+ count = 1 ;
+ slot = key ;
+ return true ;
+ }
+ keys = null ;
+ return false ;
+ }
+
+ //@Override
+ public T next()
+ {
+ if ( ! hasNext() ) throw new NoSuchElementException() ;
+ T x = slot ;
+ slot = null ;
+ return x ;
+ }
+
+ //@Override
+ public void remove()
+ { throw new UnsupportedOperationException() ; }
+ } ;
+ }
+
+ @Override public String toString()
+ {
+ StringBuilder sb = new StringBuilder() ;
+ String sep = "" ;
+ for ( Map.Entry<T, RefLong> e : map.entrySet() )
+ {
+ sb.append(sep) ;
+ sep = ", " ;
+ sb.append(e.getKey().toString()) ;
+ sb.append("=") ;
+ sb.append(Long.toString(e.getValue().value())) ;
+ }
+
+ return sb.toString() ;
+ }
+
+}
+/*
+ * (c) Copyright 2011 Epimorphics Ltd.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
\ No newline at end of file
Propchange: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/MultiSet.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java?rev=1124946&view=auto
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java (added)
+++ incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java Thu May 19 15:34:56 2011
@@ -0,0 +1,51 @@
+/*
+ * (c) Copyright 2011 Epimorphics Ltd.
+ * All rights reserved.
+ * [See end of file]
+ */
+
+package org.openjena.atlas.lib;
+
+public final class RefLong
+{
+ private long value ;
+ public RefLong() { this(0) ; }
+ public RefLong(long v) { value = v ; }
+ public long value() { return value ; }
+ public void inc() { value++ ; }
+ public void dec() { --value ; }
+ public long getAndInc() { return value++ ; }
+ public long incAndGet() { return ++value ; }
+ public long getAndDec() { return value-- ; }
+ public long decAndGet() { return --value ; }
+ public void add(long v) { value += v ; }
+ public void set(long v) { value = v ; }
+ @Override public String toString() { return "Ref:"+Long.toString(value) ; }
+ // hashCode and equals are Object equality - this is a mutable object
+}
+/*
+ * (c) Copyright 2011 Epimorphics Ltd.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
\ No newline at end of file
Propchange: incubator/jena/Jena2/ARQ/trunk/src/org/openjena/atlas/lib/RefLong.java
------------------------------------------------------------------------------
svn:mime-type = text/plain