view src/org/qmul/eecs/c4dm/sia/model/SiaVector.java @ 94:fedf516f6a78 tip

test file
author stevenh
date Mon, 29 Dec 2014 15:16:22 +0000
parents 96db6b006daf
children
line wrap: on
line source
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;
	}

}