diff options
Diffstat (limited to 'israfil-foundation-nspace/src/main/java/net/israfil/foundation')
3 files changed, 64 insertions, 21 deletions
diff --git a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/Coordinate.java b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/Coordinate.java index 620124a..e12ba34 100755 --- a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/Coordinate.java +++ b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/Coordinate.java @@ -16,39 +16,47 @@ import java.util.Set; * @version $Revision: 254 $
*/
public interface Coordinate {
-
+
/**
- * A single empty Coordinate, which can be passed in to point-NSpaces, where
- * no dimension constraint is required.
+ * A single empty Coordinate, which can be passed in to point-NSpaces, where no
+ * dimension constraint is required.
*/
- public final static Coordinate EMPTY =
- new Coordinate() {
- private final Set<String> dim = new HashSet<String>();
-
- public Set<String> getDimensions() {
- return dim;
- }
- public long getDimensionality() { return 0; }
- public String getOrdinal(String dimensionName) {
- if (false) dimensionName.hashCode(); //quiet compiler warning.
- return null;
- }
- };
+ public final static Coordinate EMPTY = new Coordinate() {
+ private final Set<String> dim = new HashSet<>();
+
+ @Override
+ public Set<String> getDimensions() {
+ return dim;
+ }
+
+ @Override
+ public long getDimensionality() {
+ return 0;
+ }
+
+ @Override
+ public String getOrdinal(String dimensionName) {
+ return null;
+ }
+ };
/**
* Returns a set of names of contained dimensions.
+ *
* @return Set
*/
public Set<String> getDimensions();
-
+
/**
* Returns the number of dimensions
+ *
* @return long
*/
public long getDimensionality();
-
+
/**
* Returns the ordinal of the given named dimension..
+ *
* @return Set
*/
public String getOrdinal(String dimensionName);
diff --git a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SimpleDimension.java b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SimpleDimension.java index 52250fa..3a4cbd9 100755 --- a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SimpleDimension.java +++ b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SimpleDimension.java @@ -16,8 +16,8 @@ import java.util.Set; public class SimpleDimension implements Dimension {
private final String name;
- private final Set<String> positions = new HashSet<String>();
- private final Set<NSpace> spaces = new HashSet<NSpace>();
+ private final Set<String> positions = new HashSet<>();
+ private final Set<NSpace> spaces = new HashSet<>();
public SimpleDimension() {
name = null;
@@ -31,6 +31,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#getName()
*/
+ @Override
public String getName() {
return this.name;
}
@@ -38,6 +39,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#size()
*/
+ @Override
public int size() {
return this.positions.size();
}
@@ -45,6 +47,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#isEmpty()
*/
+ @Override
public boolean isEmpty() {
throw new UnsupportedOperationException("Dimension cannot have no positions. Remove the dimension.");
}
@@ -52,6 +55,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#contains(java.lang.Object)
*/
+ @Override
public boolean contains(Object positions) {
return this.positions.contains(positions);
}
@@ -59,6 +63,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#iterator()
*/
+ @Override
public Iterator<String> iterator() {
return this.positions.iterator();
}
@@ -66,6 +71,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#toArray()
*/
+ @Override
public String[] toArray() {
return this.positions.toArray(new String[size()]);
}
@@ -73,6 +79,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#toArray(java.lang.Object)
*/
+ @Override
public <T> T[] toArray(T[] array) {
return this.positions.toArray(array);
}
@@ -80,6 +87,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#add(java.lang.Object)
*/
+ @Override
public boolean add(String
position) {
boolean result = this.positions.add(position);
@@ -90,6 +98,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#remove(java.lang.Object)
*/
+ @Override
public boolean remove(Object position) {
boolean result = this.positions.remove(position);
notifyRemovePosition((String)position);
@@ -99,6 +108,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#containsAll(java.util.Collection)
*/
+ @Override
public boolean containsAll(Collection<?> positions) {
return this.positions.containsAll(positions);
}
@@ -106,6 +116,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#addAll(java.util.Collection)
*/
+ @Override
public boolean addAll(Collection<? extends String> positions) {
return this.positions.addAll(positions);
}
@@ -113,6 +124,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#retainAll(java.util.Collection)
*/
+ @Override
public boolean retainAll(Collection<?> positions) {
return this.positions.retainAll(positions);
}
@@ -120,6 +132,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#removeAll(java.util.Collection)
*/
+ @Override
public boolean removeAll(Collection<?> positions) {
return this.positions.removeAll(positions);
}
@@ -127,6 +140,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.util.Collection#clear()
*/
+ @Override
public void clear() {
throw new UnsupportedOperationException("Dimensions must always have one ordinal");
}
@@ -136,6 +150,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#abandonNSpace(org.frugenplat.framework.nspace.NSpace)
*/
+ @Override
public void abandonNSpace(NSpace n) {
this.spaces.remove(n);
}
@@ -143,6 +158,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#getWithNSpace(org.frugenplat.framework.nspace.NSpace)
*/
+ @Override
public void getWithNSpace(NSpace n) {
this.spaces.add(n);
}
@@ -150,6 +166,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#abandonNSpace(org.frugenplat.framework.nspace.NSpace)
*/
+ @Override
public void abandonNSpaces(Collection<NSpace> spaces) {
this.spaces.removeAll(spaces);
}
@@ -157,6 +174,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#getWithNSpace(org.frugenplat.framework.nspace.NSpace)
*/
+ @Override
public void getWithNSpaces(Collection<NSpace> spaces) {
this.spaces.addAll(spaces);
}
@@ -186,6 +204,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.lang.Object#hashCode()
*/
+ @Override
public int hashCode() {
return name.hashCode();
}
@@ -193,6 +212,7 @@ public class SimpleDimension implements Dimension { /**
* @see java.lang.Object#toString()
*/
+ @Override
public String toString() {
StringBuffer sb = new StringBuffer();
sb.append(super.toString());
@@ -207,6 +227,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#addPosition(java.lang.String)
*/
+ @Override
public Dimension addPosition(String s) {
add(s);
return this;
@@ -215,6 +236,7 @@ public class SimpleDimension implements Dimension { /**
* @see org.frugenplat.framework.nspace.Dimension#deletePosition(java.lang.String)
*/
+ @Override
public Dimension deletePosition(String s) {
remove(s);
return this;
diff --git a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SparseNSpace.java b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SparseNSpace.java index 4c48842..aeb252c 100755 --- a/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SparseNSpace.java +++ b/israfil-foundation-nspace/src/main/java/net/israfil/foundation/collections/nspace/SparseNSpace.java @@ -10,7 +10,7 @@ import java.util.HashSet; import java.util.Set;
/**
- * An implementatino of NSpace that is sparsely populated.
+ * An implementation of NSpace that is sparsely populated.
*
* @author <a href="mailto:mishkin@berteig.com">Mishkin Berteig</a>
* @author <a href="mailto:cgruber@israfil.net">Christian Gruber</a>
@@ -35,6 +35,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#createDimension(java.lang.String, java.lang.String)
*/
+ @Override
public Dimension createDimension(String name, String initialSlot)
throws DimensionExistsException {
Dimension d = new SimpleDimension(name,initialSlot);
@@ -45,6 +46,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#deleteDimension(org.frugenplat.framework.nspace.Dimension)
*/
+ @Override
public void deleteDimension(Dimension dimension) {
throw new UnsupportedOperationException("Not yet implemented.");
}
@@ -52,6 +54,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#dimensionAddedPosition(org.frugenplat.framework.nspace.Dimension, java.lang.String)
*/
+ @Override
public void dimensionAddedPosition(Dimension dimension, String position) {
throw new UnsupportedOperationException("Not yet implemented.");
}
@@ -59,6 +62,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#dimensionRemovedPosition(org.frugenplat.framework.nspace.Dimension, java.lang.String)
*/
+ @Override
public void dimensionRemovedPosition(
Dimension dimension,
String position) {
@@ -68,6 +72,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#getDimension(java.lang.String)
*/
+ @Override
public Dimension getDimension(String name) {
throw new UnsupportedOperationException("Not yet implemented.");
}
@@ -76,6 +81,7 @@ public class SparseNSpace implements NSpace { * Returns an immutable set of dimensions for inspection..
* @see org.frugenplat.framework.nspace.NSpace#getDimensions()
*/
+ @Override
public Set<Dimension> getDimensions() {
return Collections.unmodifiableSet(dimensions);
}
@@ -91,6 +97,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#getValue()
*/
+ @Override
public Object getValue(Coordinate c) {
// SparseNSpace s = _slice(c);
throw new UnsupportedOperationException("Not yet implemented.");
@@ -103,6 +110,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#isPoint()
*/
+ @Override
public boolean isPoint() {
if (dimensions.size() == 0) return true;
else {
@@ -119,6 +127,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#lookup(org.frugenplat.framework.nspace.Coordinate)
*/
+ @Override
public NSpace lookup(Coordinate c) {
return _lookup(c);
}
@@ -126,6 +135,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#setValue(org.frugenplat.framework.nspace.Coordinate, org.frugenplat.framework.nspace.NSpace)
*/
+ @Override
public NSpace setValue(Coordinate c, NSpace value)
throws InvalidDimensionalityException {
throw new UnsupportedOperationException("Not yet implemented.");
@@ -134,6 +144,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#setValue(org.frugenplat.framework.nspace.Coordinate, java.lang.Object)
*/
+ @Override
public NSpace setValue(Coordinate c, Object value)
throws InvalidDimensionalityException {
throw new UnsupportedOperationException("Not yet implemented.");
@@ -142,6 +153,7 @@ public class SparseNSpace implements NSpace { /**
* @see org.frugenplat.framework.nspace.NSpace#slice(org.frugenplat.framework.nspace.Coordinate)
*/
+ @Override
public NSpace slice(Coordinate c) {
return _slice(c);
}
@@ -158,6 +170,7 @@ public class SparseNSpace implements NSpace { /* (non-Javadoc)
* @see org.frugenplat.framework.nspace.NSpace#slice(org.frugenplat.framework.nspace.Dimension)
*/
+ @Override
public NSpace[] slice(Dimension d) {
// TODO Auto-generated method stub
return null;
|
