Newer
Older
DesignCraft / src / main / java / models / objectOrientedTransfer / DataTransferContext.java
package models.objectOrientedTransfer;

import java.util.List;

/**
 * The reference context and properties of specific data transfer.
 * The full context of data transfer designs containing delta algebra and dependency injection.
 * 
 * @author Nitta
 *
 */
public class DataTransferContext {
	private List<Relation> relations;
	private Relation transferRelation;
	private StatefulObjectNode dataType;
	private String dataName;
	private PushPullValue transferStyle;
	
	public DataTransferContext(List<Relation> relations, Relation transferRelation, 
			StatefulObjectNode dataType, String dataName, PushPullValue transferStyle, MultiplicityValue transferMultiplicity) {
		this.relations = relations;
		this.transferRelation = transferRelation;
		this.dataType = dataType;
		this.dataName = dataName;
		this.transferStyle = transferStyle;
	}
	
	public List<Relation> getRelations() {
		return relations;
	}
	
	public List<ReferenceEdge> getSrcResource() {
		return transferRelation.getSrcResource();
	}

	public List<ReferenceEdge> getDstResource() {
		return transferRelation.getDstResource();
	}

	public MultiplicityValue getTransferMultiplicity() {
		return transferRelation.getMultiplicity();
	}

	public StatefulObjectNode getDataType() {
		return dataType;
	}

	public String getDataName() {
		return dataName;
	}

	public PushPullValue getTransferStyle() {
		return transferStyle;
	}
}