labss.generator
Interface ISlot

All Superinterfaces:
java.lang.Cloneable
All Known Subinterfaces:
IFrame
All Known Implementing Classes:
ComputedSlot

public interface ISlot
extends java.lang.Cloneable

Interfaccia comune a tutti i tipi di slot. Uno slot mette a disposizione i metodi per clonarsi, esportarsi e per iterare sugli slot figli.

Author:
Riccardo Solmi

Method Summary
 java.lang.Object clone()
          Crea e ritorna una copia dello slot.
 void export(java.io.Writer out, IContext c)
          Esporta lo slot e tutto il suo sotto albero usando il contesto passato e disponendo di un Writer già aperto su cui scrivere.
 java.util.Iterator iterator()
          Ritorna un Iterator per navigare sugli slot figli.
 

Method Detail

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Crea e ritorna una copia dello slot. Se si vuole fare una copia profonda bisogna chiamare super.clone() e clonare anche i campi altrimenti è sufficiente restituire this.

Returns:
una copia dello slot
Throws:
java.lang.CloneNotSupportedException

iterator

public java.util.Iterator iterator()
Ritorna un Iterator per navigare sugli slot figli. Gli Slot che non hanno figli devono ritornare un iteratore il cui hasNext() dia false subito.

Returns:
un Iterator standard

export

public void export(java.io.Writer out,
                   IContext c)
            throws java.io.IOException
Esporta lo slot e tutto il suo sotto albero usando il contesto passato e disponendo di un Writer già aperto su cui scrivere. Per scrivere sullo standard output si può usare: new PrintWriter(System.out).

Parameters:
out - Writer su cui scrivere il codice generato.
c - Contesto usato per contenere il valore corrente degli slot.
Throws:
java.io.IOException