chat
Class Contatto

java.lang.Object
  |
  +--chat.Contatto

public class Contatto
extends java.lang.Object
implements java.io.Serializable

Classe atta a rappresentare un individuo, intendendo questi come l'insieme dei seguenti attributi:

Version:
1.0
Author:
Marco Cimatti
See Also:
Endpoint, Serialized Form

Field Summary
private  java.security.Key chiave
          La chiave crittografica.
private  java.util.Vector dove
           
private  java.lang.String nome
          Il nickname dell'individuo.
 
Constructor Summary
Contatto(java.lang.String nome, java.security.Key chiave, Endpoint dove)
          Unico costruttore.
 
Method Summary
 void aggiungi(Endpoint e)
          Aggiunge un Endpoint nella lista di quelli ammessi per l'istanza in questione.
static boolean carLecitoNome(char c)
          Verifica che il carattere c possa appartenere al campo nome di un'istanza di Contatto.
 java.security.Key chiave()
          Selettore per accedere alla chiave crittografica.
 java.util.Vector dove()
          Selettore per ottenere la lista degli Endpoint associati all'istanza.
 java.lang.String nome()
          Selettore per ottenere il nome dell'istanza.
 java.lang.String toString()
          Convertitore per avere la rappresentazione testuale di questa istanza.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

nome

private java.lang.String nome
Il nickname dell'individuo.

chiave

private java.security.Key chiave
La chiave crittografica.

dove

private java.util.Vector dove
Constructor Detail

Contatto

public Contatto(java.lang.String nome,
                java.security.Key chiave,
                Endpoint dove)
Unico costruttore. Verifica la validità del nome testandone la lunghezza (che deve appartenere all'intervallo [1..32]) ed il tipo dei caratteri, assicurandosi che ciascuno di essi soddisfi il predicato di classe carLecitoNome(char).
Parameters:
nome - il nome del Contatto.
chiave - la chiave crittografica.
dove - un Endpoint possibile per la persona rappresentata.
Throws:
java.lang.RuntimeException - se nome non è valido.
See Also:
carLecitoNome(char), Endpoint
Method Detail

carLecitoNome

public static boolean carLecitoNome(char c)
Verifica che il carattere c possa appartenere al campo nome di un'istanza di Contatto.
Parameters:
c - il carattere da testare.
Returns:
true <=> Character.isJavaIdentifierPart(c).

aggiungi

public void aggiungi(Endpoint e)
Aggiunge un Endpoint nella lista di quelli ammessi per l'istanza in questione. Non compie nulla se il parametro indicato è già presente nella lista; questo evita duplicazioni inutili. Primitiva.
Parameters:
e - l'Endpoint da aggiungere alla lista.
See Also:
dove, Endpoint

nome

public java.lang.String nome()
Selettore per ottenere il nome dell'istanza. Primitiva.
Returns:
il valore della variabile privata nome.
See Also:
nome

chiave

public java.security.Key chiave()
Selettore per accedere alla chiave crittografica. Primitiva.
Returns:
il valore della variabile privata chiave.
See Also:
chiave

dove

public java.util.Vector dove()
Selettore per ottenere la lista degli Endpoint associati all'istanza. Primitiva.
Returns:
un clone della variabile privata dove, per evitare che il chiamante possa modificarla a piacere.
See Also:
dove

toString

public java.lang.String toString()
Convertitore per avere la rappresentazione testuale di questa istanza. La String restituita è conforme alla grammatica sulla quale sono improntati Lexer e Parser. Primitiva per comodità, non è obbligatorio realizzare questo metodo come tale.
Overrides:
toString in class java.lang.Object
Returns:
un stringa rappresentante l'istanza di Contatto.
See Also:
Lexer, Parser