|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--MultipartTimestamp
Implementa un multipart timestamp mediante un array. Per consentirne l'accesso in mutua esclusione, sono forniti metodi sincronizzati.
Field Summary | |
private int[] |
ts
Rappresenta il vettore di timestamp. |
Constructor Summary | |
MultipartTimestamp(int n)
Crea un'istanza di MultipartTimestamp con n elementi uguali a 0. |
Method Summary | |
MultipartTimestamp |
advanceTimestamp(int i)
Incrementa di uno l'elemento in posizione i-esima del multipart timestamp e restituisce una nuova istanza di MultipartTimestamp i cui elementi sono uguali a quelli dell'istanza di cui e' invocato il metodo. |
java.lang.Object |
clone()
Restituisce una nuova istanza di MultipartTimestamp i cui elementi sono uguali a quelli dell'istanza di cui e' invocato il metodo. |
MultipartTimestamp |
clone2()
Restituisce una nuova istanza di MultipartTimestamp i cui elementi sono uguali a quelli dell'istanza di cui e' invocato il metodo. |
int |
firstIndexGreater(MultipartTimestamp mpts)
Ritorna l'indice del primo elemento che e' maggiore del corrispondente elemento del multipart timestamp passato come argomento. |
int |
getValueAt(int i)
Restituisce il timestamp di indice i. |
boolean |
greaterEqualsThan(MultipartTimestamp mpts)
Ritorne true se il multipart timestamp dell'istanza su cui e' invocato il metodo e' maggiore o uguale del multipart timestamp passato come argomento. |
void |
incElementAt(int i)
Incrementa di uno l'elemento in posizione i-esima del multipart timestamp. |
int |
indexGreaterAt(MultipartTimestamp mpts,
int i)
Ritorna l'indice dell'i-esimo elemento che e' maggiore del corrispondente elemento del multipart timestamp passato come argomento. |
int |
length()
Restituisce il numero di elementi del multipart timestamp. |
boolean |
lessThan(MultipartTimestamp mpts)
Ritorne true se il multipart timestamp dell'istanza su cui e' invocato il metodo e' non maggiore del multipart timestamp passato come argomento. |
static void |
main(java.lang.String[] args)
Rende la classe un'applicazione stand-alone per il testing. |
void |
merge(MultipartTimestamp mpts)
Effettua il merge con il multipart timestamp passato come argomento. |
void |
run()
Per effettuare testing in multithreading si e' implementata l'interfaccia java.lang.Runnable che ha questo unico metodo. |
void |
setValueAt(int i,
int t)
Assegna al timestamp di indice i il valore intero passato come argomento. |
java.lang.String |
toString()
Ridefinisce l'omonimo metodo della classe java.lang.Object per rappresentare come stringa un MultipartTimestamp. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private int[] ts
Constructor Detail |
public MultipartTimestamp(int n)
n
- numero di elementi del multipart timestamp.Method Detail |
public int length()
public int getValueAt(int i)
length()
.i
- indice all'interno del multipart timestamp. Deve essere non
negativo e inferiore alla dimensione del multipart timestamp
ottenibile mediante il metodo length()
.public void setValueAt(int i, int t)
length()
.i
- indice all'interno del multipart timestamp. Deve essere non
negativo e inferiore alla dimensione del multipart timestamp
ottenibile mediante il metodo length()
.t
- timestamp da assegnare alla posizione i-esima.public void incElementAt(int i)
length()
.i
- indice all'interno del multipart timestamp dell'elemento
da incrementare.public void merge(MultipartTimestamp mpts)
mpts
- multipart timestamp con cui fare il merge. Deve avere la
stessa lunghezza dell'istanza su cui e' invocato il
metodo.public boolean lessThan(MultipartTimestamp mpts)
mpts
- multipart timestamp con cui effettuare il confronto. Deve
avere la stessa lunghezza dell'istanza su cui e' invocato
il metodo.public boolean greaterEqualsThan(MultipartTimestamp mpts)
mpts
- multipart timestamp con cui effettuare il confronto.
Deve avere la stessa lunghezza dell'istanza su cui e'
invocato il metodo.public int firstIndexGreater(MultipartTimestamp mpts)
mpts
- multipart timestamp con cui effettuare il confronto, deve
avere la stessa lunghezza dell'istanza su cui e' invocato
il metodo.public int indexGreaterAt(MultipartTimestamp mpts, int i)
...La lunghezza del multipart timestamp passato come argomento deve essere uguale a quella dell'istanza su cui e' invocato il metodo.
MultipartTimestamp mpts1 = new MultipartTimestamp(5); // mpts1 : <0 0 0 0 0>
MultipartTimestamp mpts2 = new MultipartTimestamp(5); // mpts2 : <0 0 0 0 0>
for (int i = 0 ; i < mpts1.length() ; i++) mpts1.setValueAt(i,i); // mpts1 : <0 1 2 3 4>
mpts1.indexGreaterAt(mpts2,1); // ritorna l'indice del primo elemento di mpts1 che e' maggiore del corrispondente in mpts2 : 1
mpts1.indexGreaterAt(mpts2,2); // ritorna l'indice del secondo elemento di mpts1 che e' maggiore del corrispondente in mpts2 : 2
mpts1.setValueAt(2,0); // mpts1 : <0 1 0 3 4>
mpts1.indexGreaterAt(mpts2,2); // ritorna l'indice del secondo elemento di mpts1 che e' maggiore del corrispondente in mpts2 : 3
mpts
- multipart timestamp con cui effettuare il confronto, deve avere la stessa lunghezza dell'istanza su cui e' invocato il metodo.i
- numero dell'elemento del multipart timestamp passato come argomento nell'insieme di quelli che sono minori dei corrispondenti.
Deve valere : i > 0 e i <= mpts.length .public java.lang.Object clone() throws java.lang.CloneNotSupportedException
public MultipartTimestamp clone2()
public MultipartTimestamp advanceTimestamp(int i)
length()
.
Lo stesso risultato e' ottenibile apparentemente invocando prima il
metodo incElementAt(int) e poi il metodo clone().
In un ambiente multithread puo' essere necessario eseguire le due
operazioni in maniera atomica, ed e' appunto per questa ragione che
viene fornito questo metodo.i
- indice all'interno del multipart timestamp dell'elemento da
incrementare.CallMsgManager
,
CallMsgManager.processPut(MultipartTimestamp)
,
CallMsgManager.processAck()
public java.lang.String toString()
< 1 4 7 0 >
public static void main(java.lang.String[] args)
public void run()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |