package buffalo.twoTasksAnalysis;
import buffalo.dataStructures.Buffer;
/**
Condition sur les dimensions de deux buffers.
*/
public class BufferPairCondition
{
private int firstSize;
private int secondSize;
private BufferPairExpression myExpression;
private int indexOfMe;
/*-----------------------------------------------------*/
/**
Se crée avec les deux valeurs et
l'expression à laquelle on l'ajoute.
*/
public BufferPairCondition(int firstSize, int secondSize)
{
this.firstSize = firstSize;
this.secondSize = secondSize;
}
/*-----------------------------------------------------*/
/**
Renvoie la <CODE>size</CODE> associée
au <CODE>Buffer</CODE> passé en
paramètre. Retourne <CODE>-1</CODE>
si ce buffer ne correspond à aucun de
ceux que concerne cette condition.
*/
public int getSizeOf(Buffer myBuffer)
{
if(myExpression.getFirstBuffer()==myBuffer)
{
return getFirstSize();
}
if (myExpression.getSecondBuffer()==myBuffer)
{
return getSecondSize();
}
return -1;
}
/*-----------------------------------------------------*/
/**
Renvoie la <CODE>firstSize</CODE>.
*/
public int getFirstSize()
{
return firstSize;
}
/*-----------------------------------------------------*/
/**
Renvoie la <CODE>secondSize</CODE>.
*/
public int getSecondSize()
{
return secondSize;
}
/*-----------------------------------------------------*/
/**
Détermine la <CODE>firstSize</CODE>.
*/
public void setFirstSize(int firstSize)
{
this.firstSize = firstSize;
}
/*-----------------------------------------------------*/
/**
Détermine la <CODE>secondSize</CODE>.
*/
public void setSecondSize(int secondSize)
{
this.secondSize = secondSize;
}
/*-----------------------------------------------------*/
/**
Renvoie l'<CODE>index</CODE> de <CODE>this</CODE>.
*/
public int getIndex()
{
return indexOfMe;
}
/*-----------------------------------------------------*/
/**
Détermine l'<CODE>index</CODE> de <CODE>this</CODE>.
*/
public void setIndex(int index)
{
this.indexOfMe = index;
}
/*-----------------------------------------------------*/
/**
Pour que <CODE>myBufferPairExpression</CODE>
devienne la <CODE>BufferPairExpression</CODE>
de l'instance courante.
*/
public void setBufferPairExpression
(BufferPairExpression myBufferPairExpression)
{
this.myExpression = myBufferPairExpression;
}
/*-----------------------------------------------------*/
/**
Retourne la <CODE>BufferPairExpression</CODE>
de l'instance courante.
*/
public BufferPairExpression getBufferPairExpression()
{
return myExpression;
}
/*-----------------------------------------------------*/
/**
Retourne l'instance courante au format
chaîne de caractères.
*/
public String toString()
{
String results = "{ ";
results += firstSize + " , ";
results += secondSize + " }";
return results;
}
}