next up previous contents
suivant: TwoTasksCircuit.java monter: Package twoTasksAnalysis précédent: BufferPairCondition.java   Table des matières

BufferPairExpression.java


package buffalo.twoTasksAnalysis;

import buffalo.dataStructures.Buffer;
import java.util.Vector;

/**
   Ensemble de conditions sur les dimensions de deux buffers.
 */

public class BufferPairExpression
{

    private Buffer firstBuffer;
    private Buffer secondBuffer;
    private Vector conditions;
    private int indexOfMe;

    /*-----------------------------------------------------*/

    /**
       Se crée avec les deux valeurs et l'expression 
       à laquelle on l'ajoute.
     */

    public BufferPairExpression(Buffer firstBuffer, 
				Buffer secondBuffer)
    {
	this.firstBuffer = firstBuffer;
	this.secondBuffer = secondBuffer;
	conditions = new Vector();
    }
    
    /*-----------------------------------------------------*/

    /**
       Retourne le <CODE>firstBuffer</CODE>.
     */

    public Buffer getFirstBuffer()
    {
	return firstBuffer;
    }
    
    /*-----------------------------------------------------*/

    /**
       Retourne le <CODE>secondBuffer</CODE>.
     */

    public Buffer getSecondBuffer()
    {
	return secondBuffer;
    }
    
    /*-----------------------------------------------------*/

    /**
       Retourne l'<CODE>index</CODE> de cette expression.
     */

    public int getIndex()
    {
	return indexOfMe;
    }

    /*-----------------------------------------------------*/

    /**
       D&eacute;termine l'<CODE>index</CODE> de cette expression.
     */

    public void setIndex(int index)
    {
	this.indexOfMe = index;
    }

    /*-----------------------------------------------------*/

    /**
       Retourne le nombre de <CODE>BufferCondition</CODE> de 
       cette expression.
     */

    public int getNbConditions()
    {
	return conditions.size();
    }

    /*-----------------------------------------------------*/

    /**
       Retourne la <CODE>index</CODE>-i&egrave;me 
       <CODE>BufferCondition</CODE> de cette expression.
     */

    public BufferPairCondition getBufferPairCondition
	(int indexOfBufferPairCondition)	
    {
	return (BufferPairCondition)conditions.get
	    (indexOfBufferPairCondition);
    }

    /*-----------------------------------------------------*/

    /**
       Ajoute une <CODE>BufferCondition</CODE> &agrave;
       cette expression.
     */

    public void addBufferPairCondition
	(BufferPairCondition aNewCondition)	
    {
	conditions.add(aNewCondition);
	aNewCondition.setIndex(conditions.size() - 1);
	aNewCondition.setBufferPairExpression(this);
    }

    /*-----------------------------------------------------*/

    /**
       Retourne l'instance courante au format 
       cha&icirc;ne de caract&egrave;res.
     */

    public String toString()
    {
	String results = "C( b";
	results += firstBuffer.getIndex()+" , b";
	results += secondBuffer.getIndex()+" ) = ";
	int nbConditions = getNbConditions();
	BufferPairCondition myBufferPairCondition;
	for(int i = 0 ; i < nbConditions ; i++)
	    {
		myBufferPairCondition = getBufferPairCondition(i);
		if (myBufferPairCondition != null)
		    {
			results += myBufferPairCondition.toString()+"  ";
		    }
	    }
	return results;
    }

}



Alexandre 2009-05-14