// Path: src/main/java/uk/ac/manchester/cs/diff/exception/NotImplementedException.java
// public class NotImplementedException extends RuntimeException {
// 	private static final long serialVersionUID = 1L;
// 
// 	
// 	/**
// 	 * Constructor
// 	 * @see RuntimeException#RuntimeException()
// 	 */
// 	public NotImplementedException() {
// 		super();
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param s	Message
// 	 * @see RuntimeException#RuntimeException(String s)
// 	 */
// 	public NotImplementedException(String s) {
// 		super(s);
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param s	Message
// 	 * @param throwable	Throwable
// 	 * @see RuntimeException#RuntimeException(String s, Throwable throwable)
// 	 */
// 	public NotImplementedException(String s, Throwable throwable) {
// 		super(s, throwable);
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param throwable	Throwable
// 	 * @see RuntimeException#RuntimeException(Throwable throwable)
// 	 */
// 	public NotImplementedException(Throwable throwable) {
// 		super(throwable);
// 	}
// }


import uk.ac.manchester.cs.diff.exception.NotImplementedException;
package uk.ac.manchester.cs.diff.unity.changeset;


/**
 * @author Rafael S. Goncalves <br>
 * Stanford Center for Biomedical Informatics Research (BMIR) <br>
 * School of Medicine, Stanford University <br>
 */
public class AlignedChangeSet implements AlignedChangeSetInt {
	private AlignedDirectChangeSet directChangeSet;
	private AlignedIndirectChangeSet indirectChangeSet;
	
	
	/**
	 * Constructor
	 * @param directChangeSet	Direct change set
	 * @param indirectChangeSet	Indirect change set
	 */
	public AlignedChangeSet(AlignedDirectChangeSet directChangeSet, AlignedIndirectChangeSet indirectChangeSet) {
		this.directChangeSet = directChangeSet;
		this.indirectChangeSet = indirectChangeSet;
	}
	
	
	@Override
	public AlignedDirectChangeSet getDirectChangeSet() {
		return directChangeSet;
	}
	

	@Override
	public AlignedIndirectChangeSet getIndirectChangeSet() {
		return indirectChangeSet;
	}


	@Override
	public boolean isEmpty() {
		if(directChangeSet.isEmpty() && indirectChangeSet.isEmpty())
			return true;
		else
			return false;
	}


	@Override
	public double getOperationTime() {
		// TODO: not implemented
// Path: src/main/java/uk/ac/manchester/cs/diff/exception/NotImplementedException.java
// public class NotImplementedException extends RuntimeException {
// 	private static final long serialVersionUID = 1L;
// 
// 	
// 	/**
// 	 * Constructor
// 	 * @see RuntimeException#RuntimeException()
// 	 */
// 	public NotImplementedException() {
// 		super();
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param s	Message
// 	 * @see RuntimeException#RuntimeException(String s)
// 	 */
// 	public NotImplementedException(String s) {
// 		super(s);
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param s	Message
// 	 * @param throwable	Throwable
// 	 * @see RuntimeException#RuntimeException(String s, Throwable throwable)
// 	 */
// 	public NotImplementedException(String s, Throwable throwable) {
// 		super(s, throwable);
// 	}
// 	
// 	
// 	/**
// 	 * Constructor
// 	 * @param throwable	Throwable
// 	 * @see RuntimeException#RuntimeException(Throwable throwable)
// 	 */
// 	public NotImplementedException(Throwable throwable) {
// 		super(throwable);
// 	}
// }


// Path: src/main/java/uk/ac/manchester/cs/diff/unity/changeset/AlignedChangeSet.java
import uk.ac.manchester.cs.diff.exception.NotImplementedException;

package uk.ac.manchester.cs.diff.unity.changeset;


/**
 * @author Rafael S. Goncalves <br>
 * Stanford Center for Biomedical Informatics Research (BMIR) <br>
 * School of Medicine, Stanford University <br>
 */
public class AlignedChangeSet implements AlignedChangeSetInt {
	private AlignedDirectChangeSet directChangeSet;
	private AlignedIndirectChangeSet indirectChangeSet;
	
	
	/**
	 * Constructor
	 * @param directChangeSet	Direct change set
	 * @param indirectChangeSet	Indirect change set
	 */
	public AlignedChangeSet(AlignedDirectChangeSet directChangeSet, AlignedIndirectChangeSet indirectChangeSet) {
		this.directChangeSet = directChangeSet;
		this.indirectChangeSet = indirectChangeSet;
	}
	
	
	@Override
	public AlignedDirectChangeSet getDirectChangeSet() {
		return directChangeSet;
	}
	

	@Override
	public AlignedIndirectChangeSet getIndirectChangeSet() {
		return indirectChangeSet;
	}


	@Override
	public boolean isEmpty() {
		if(directChangeSet.isEmpty() && indirectChangeSet.isEmpty())
			return true;
		else
			return false;
	}


	@Override
	public double getOperationTime() {
		// TODO: not implemented
		throw new NotImplementedException("not implemented".toUpperCase());