labss.generator
Interface IContext

All Known Implementing Classes:
Context

public interface IContext

Mantiene l'insieme dei valori degli slot durante l'esecuzione del metodo export. Le operazioni bind/unbind sono pensate per aggiungere/togliere in modo atomico tutti i valori degli slot definiti in un frame.

Author:
Riccardo Solmi

Method Summary
 void bind(java.util.Map bindings)
          Aggiunge al contesto uno scope con tutti gli slot definiti nella mappa.
 boolean contains(java.lang.String slotName)
          Ritorna true se il contesto contiene lo slot specificato.
 ISlot get(java.lang.String slotName)
          Restituisce lo slot associato ad un nome.
 void unbind()
          Toglie dal contesto tutti gli slot dello scope corrente.
 

Method Detail

bind

public void bind(java.util.Map bindings)
Aggiunge al contesto uno scope con tutti gli slot definiti nella mappa. Ad esempio un frame può usare questo metodo per aggiornare il contesto con tutti gli slot definiti nel frame stesso.

Parameters:
bindings - Mappa nome-slot di tutti gli slot di un frame

unbind

public void unbind()
Toglie dal contesto tutti gli slot dello scope corrente. Torna alla situazione antecedente l'ultimo bind.


contains

public boolean contains(java.lang.String slotName)
Ritorna true se il contesto contiene lo slot specificato. Questa operazione è necessaria per nascondere l'implementazione degli slot senza valore.

Parameters:
slotName - Nome dello slot da testare
Returns:
true se lo slot ha un valore.

get

public ISlot get(java.lang.String slotName)
Restituisce lo slot associato ad un nome. Se lo slot non è definito nel contesto viene restituito uno slot di un sottotipo di ComputedSlot nascosto al cliente che esporta la stringa vuota.

Parameters:
slotName - Nome dello slot richiesto.
Returns:
lo slot richiesto.