|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectssbm.net.Reply
public class Reply
Questa classe rappresenta un messaggio di risposta inviato dal server
per comunicare l'esito dell'esecuzione di un servizio richiesto da
un client.
Questa classe fornisce dei metodi statici per la costruzione dei
messaggi di risposta e consente di creare degli esemplari per
l'interpretazione di tali messaggi.
Nested Class Summary | |
---|---|
private static class |
Reply.Code
Questa classe contiene i codici degli esiti dell'esecuzione di un servizio. |
Field Summary | |
---|---|
private DataContainer |
dataTable
L'istanza di DataContainer contenente i dati riportati nel messaggio. |
private DataContainersList |
dataTablesList
L'istanza di DataContainersList contenente i dati riportati nel messaggio. |
private static java.lang.String |
END_REGEX
|
private static java.lang.String |
ERROR_REGEX
L'espressione regolare relativa ai codici degli esiti negativi. |
private static int |
MAX_HEADER_LINES
Il numero massimo di righe che può avere l'intestazione di un messaggio di risposta. |
private static int |
MIN_HEADER_LINES
Il numero minimo di righe che deve avere l'intestazione di un messaggio di risposta. |
private static java.lang.String |
OK_REGEX
L'espressione regolare relativi ai codici degli esiti positivi. |
private static java.lang.String |
ONLY_BODY_REGEX
L'espressione regolare dei codici degli esiti che devono essere comunicati con dei messaggi di risposta costituiti dal codice dell'esito e dal corpo. |
private static java.lang.String |
ONLY_CODE_REGEX
L'espressione regolare dei codici degli esiti che devono essere comunicati con dei messaggi di risposta costituiti solo dal codice dell'esito. |
private static java.lang.String |
ONLY_HEADER_REGEX
L'espressione regolare dei codici degli esiti che devono essere comunicati con dei messaggi di risposta costituiti solo dal codice dell'esito e dall'intestazione. |
private static java.lang.String |
REGEX_SEPARATOR
|
private java.lang.String |
resultCode
Il codice che identifica l'esito di un servizio. |
private static java.lang.String |
START_REGEX
|
Constructor Summary | |
---|---|
Reply(java.lang.String message)
Costruisce un'istanza con i campi d'esemplare impostati sulla base dell'analisi del messaggio passato come parametro. |
Method Summary | |
---|---|
private static java.lang.String |
createBodyXorHeadingMessage(DataContainer dataTable,
boolean toBody)
Costruisce l'intestazione o il corpo di un messaggio di testo da inviare al client. |
static java.lang.String |
createMessage(DataContainer dataTable,
Services service,
Entities entity)
Costruisce un messaggio che comunica l'esito positivo di un servizio. |
static java.lang.String |
createMessage(DataContainersList dataTablesList)
Costruisce un messaggio che comunica l'esito positivo di un servizio di recupero dei dati. |
static java.lang.String |
createMessage(java.lang.Exception e)
Costruisce un messaggio che comunica l'esito negativo di un servizio. |
static java.lang.String |
createMessage(Services service,
Entities entity)
Costruisce un messaggio che comunica l'esito positivo di un servizio. |
private DataContainer |
extractToDataTable(java.lang.String block)
Analizza un blocco del corpo del messaggio ed estrae i dati in esso contenuti. |
DataContainer |
getDataTable()
Restituisce l'istanza di DataContainer popolata con i dati estratti dal messaggio. |
DataContainersList |
getDataTablesList()
Restituisce l'istanza di DataContainersList popolata con i dati estratti dal messaggio. |
java.lang.Exception |
getException()
Restituisce l'eccezione corrispondente all'esito negativo comunicato dal messaggio analizzato. |
java.lang.String |
getResultCode()
Restituisce il codice che identifica l'esito di un servizio. |
static java.lang.String |
getResultCode(Services service,
Entities entity,
boolean hasData)
Restituisce il codice dell'esito positivo di un servizio. |
boolean |
hasDataTable()
Indica se l'analisi del messaggio ha consentito di costruire un'istanza di DataContainer. |
boolean |
hasDataTablesList()
Indica se l'analisi del messaggio ha consentito di costruire un'istanza di DataContainersList. |
boolean |
isError()
Indica se il messaggio analizzato comunica un esito negativo (errore). |
boolean |
isNormal()
Indica se il messaggio analizzato comunica un esito positivo. |
private void |
parseMessageBody(java.lang.String body)
Analizza il corpo del messaggio ed estrae i dati in esso contenuti. |
private void |
parseMessageHeading(java.lang.String heading)
Analizza il contenuto dell'intestazione del messaggio ed estrae i dati in esso contenuti. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private DataContainer dataTable
private DataContainersList dataTablesList
private java.lang.String resultCode
private static final int MIN_HEADER_LINES
private static final int MAX_HEADER_LINES
private static final java.lang.String START_REGEX
private static final java.lang.String REGEX_SEPARATOR
private static final java.lang.String END_REGEX
private static final java.lang.String ONLY_HEADER_REGEX
private static final java.lang.String ONLY_CODE_REGEX
private static final java.lang.String ONLY_BODY_REGEX
private static final java.lang.String ERROR_REGEX
private static final java.lang.String OK_REGEX
Constructor Detail |
---|
public Reply(java.lang.String message) throws NetException, java.lang.IllegalArgumentException
message
- il messaggio di testo da analizzare per impostare
opportunamente i campi d'esemplare.
NetException
- se si verifica una delle seguenti condizioni:ONLY_BODY_REGEX
, ONLY_CODE_REGEX
e
ONLY_HEADER_REGEX
;java.lang.IllegalArgumentException
- se message è null.Method Detail |
---|
private void parseMessageHeading(java.lang.String heading) throws NetException
heading
- l'intestazione del messaggio.
NetException
- se si verifica una delle seguenti condizioni:private void parseMessageBody(java.lang.String body) throws NetException
body
- il corpo del messaggio.
NetException
- se si verifica una delle seguenti condizioni:private DataContainer extractToDataTable(java.lang.String block) throws NetException
block
- il blocco del corpo del messaggio.
NetException
- se si verifica una delle seguenti condizioni:public DataContainer getDataTable()
public DataContainersList getDataTablesList()
public boolean hasDataTable()
public boolean hasDataTablesList()
public boolean isError()
public boolean isNormal()
public java.lang.String getResultCode()
Reply.Code
public java.lang.Exception getException()
public static java.lang.String createMessage(DataContainer dataTable, Services service, Entities entity) throws NetException
dataTable
- l'istanza di DataContainer contenente i dati
ottenuti dall'esecuzione del servizio.service
- il valore dell'enumerazione Services che indica
il nome del servizio eseguito.entity
- il valore dell'enumerazione Entities che indica
il nome dell'entità di riferimento.
NetException
- se si verifica una delle seguenti condizioni:public static java.lang.String createMessage(DataContainersList dataTablesList) throws NetException
dataTablesList
- l'istanza di DataContainersList contenente i dati
ottenuti dall'esecuzione del servizio.
NetException
- se dataTablesList è uguale a null.public static java.lang.String createMessage(Services service, Entities entity) throws NetException
service
- il valore dell'enumerazione Services che indica
il nome del servizio eseguito.entity
- il valore dell'enumerazione Entities che indica
il nome dell'entità di riferimento oppure null se si tratta di un
servizio di autenticazione.
NetException
- se l'esito non può essere comunicato con un messaggio contenente solo
il codice dell'esito.public static java.lang.String createMessage(java.lang.Exception e) throws java.lang.IllegalArgumentException
e
- l'eccezione lanciata al verificarsi dell'errore.
java.lang.IllegalArgumentException
- se e non è un'istanza di
DomainException o
ServerException.private static java.lang.String createBodyXorHeadingMessage(DataContainer dataTable, boolean toBody) throws NetException
dataTable
- l'istanza di DataContainer contenente i dati
da inserire nell'intestazione/nel corpo del messaggio.toBody
- true se i dati devono essere inseriti nel corpo del messaggio, false
se devono essere inseriti nell'intestazione del messaggio.
NetException
- se dataTable è uguale a null.public static java.lang.String getResultCode(Services service, Entities entity, boolean hasData)
service
- il valore dell'enumerazione Services che indica
il nome del servizio eseguito.entity
- il valore dell'enumerazione Entities che indica
il nome dell'entità di riferimento oppure null se si tratta di un
servizio di autenticazione.hasData
- true se l'esecuzione del servizio ha prodotto dei dati, false altrimenti.
Reply.Code
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |