-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMyType.java
More file actions
38 lines (30 loc) · 1.18 KB
/
MyType.java
File metadata and controls
38 lines (30 loc) · 1.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/**Classe di dato creata per utilizzare SecureDataContainer
* Nella batteria di test viene utilizzata per emulare il comportamento di un oggetto di tipo String,
* che in più garantisce la definizione del metodo Clone.
* Per questo motivo la variabile d'istanza s è dichiarata come public, snellendo codice e lavoro.
* La variable d'istanza key ha il ruolo di chiave per la funzione di cifratura.
* Questa viene dichiarata final e inizializzata nella classe per questioni di semplicità,
* ma nulla vieta di aggiungere un parametro al costruttore.
**/
public class MyType extends MyCloneable{
public String s;
private final String key="XXX";
public MyType (String t) {s = t;}
@Override
public String toString() {
return s;
}
@Override
public MyCloneable encrypt() {
//Restituisce la stringa concatenata alla chiave.
//Metodo di cifratura più che banale,
//ma facilmente sostituibile da chi utilizza l'API
return new MyType(s+key);
}
@Override
public MyCloneable decrypt() {
//Restituisce una sottostringa contenente la stringa originale,
//eliminando il numero di caratteri della chiave.
return new MyType(s.substring(0,s.length()-(key.length())));
}
}