/*
 * Created on 19/08/2003
 *
 * To change the template for this generated file go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
package sce.queue;

import sce.list.DNode;

/**
 * @author TOSHIBA
 *
 * To change the template for this generated type comment go to
 * Window>Preferences>Java>Code Generation>Code and Comments
 */
public aspect OrderQueueAspect {
	
	pointcut adiciona():execution(void Queue.enqueue(Object,int));

	DNode around() : adiciona() {
		Object[] argm = thisJoinPoint.getArgs(); 
		int pos = ((Integer)argm[1]).intValue();
		return ((Queue)thisJoinPoint.getThis()).enqueue(argm[0],pos);
	}

	
	public DNode Queue.enqueue(Object parObject,int order) {
		
		return this.storage.insertLast(parObject,order);
	}

}