changeset 74:96db6b006daf

new
author stevenh
date Fri, 02 Aug 2013 15:41:27 +0100
parents d1da6dfdb638
children bc2abbaaa23f
files src/org/qmul/eecs/c4dm/sia/model/SiaVector.java
diffstat 1 files changed, 80 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/org/qmul/eecs/c4dm/sia/model/SiaVector.java	Fri Aug 02 15:41:27 2013 +0100
@@ -0,0 +1,80 @@
+package org.qmul.eecs.c4dm.sia.model;
+
+import java.util.Vector;
+
+import org.qmul.eecs.c4dm.sia.exceptions.DimensionException;
+import org.qmul.eecs.c4dm.sia.rdf.Namespaces;
+
+import com.hp.hpl.jena.rdf.model.Resource;
+
+/**
+ * @author steven hargreaves
+ *
+ */
+public class SiaVector extends NDimensionalObject {
+
+	private Resource resource;
+	private int orderedIndex;
+	
+	public static final String RESOURCE_URI    = Namespaces.SIA_NS_URI + "Vector";
+	public static final String PROPERTY_URI    = Namespaces.SIA_NS_URI + "vector";
+
+	/**
+	 * @return the resource
+	 */
+	public Resource getResource() {
+		return resource;
+	}
+
+	/**
+	 * @param resource the node to set
+	 */
+	public void setResource(Resource resource) {
+		this.resource = resource;
+	}
+
+	/**
+	 * @return the orderedIndex
+	 */
+	public int getOrderedIndex() {
+		return orderedIndex;
+	}
+
+	/**
+	 * @param orderedIndex the orderedIndex to set
+	 */
+	public void setOrderedIndex(int orderedIndex) {
+		this.orderedIndex = orderedIndex;
+	}
+	
+	/**
+	 * @param d
+	 * @return
+	 */
+	public NDimensionalObject subtract(Datapoint d)
+	{
+		NDimensionalObject nDimObj = new NDimensionalObject();
+		Vector<DimensionValue> dimVals = new Vector<DimensionValue>();
+		int dimensions = d.getDimensionValues().size();
+		DimensionValue dimVal;
+		
+		for (int dimension = 1; dimension <= dimensions; dimension++)
+		{
+			dimVal = new DimensionValue();
+			dimVal.setDimension(dimension);
+			
+			try {
+				dimVal.setValue(this.getDimensionValue(dimension) - d.getDimensionValue(dimension));
+			} catch (DimensionException e) {
+				e.printStackTrace();
+				System.exit(1);
+			}
+			
+			dimVals.add(dimVal);
+		}
+		
+		nDimObj.setDimensionValues(dimVals);
+		return nDimObj;
+	}
+
+}