Verso Java 7: type annotations

Giovedì 4 Marzo 2010 - 08:48

di Giuseppe de Santis

Java

Le annotazioni (annotations) sono una realtà in Java ormai dal 2004, anno del rilascio di Java SE 5 “Tiger“, ed in breve tempo hanno raggiunto una diffusione capillare tanto nella JDK quanto nei framework più utilizzati e diffusi, specie in ambito Java EE.

Con l’arrivo di Dolphin è prevista un’estensione dell’utilizzo delle annotazioni anche ai tipi: il sottoprogetto di OpenJDK7 in questione è Type Annotations, sviluppato in ambito accademico ed in parte basato su Checker Framework.

Ecco un po’ di esempi di utilizzo delle type annotations.

  • tipi di argomento per classi e interfacce con parametri tramite l’uso di generics e wildcard;
    Map<@NonNull String, @NonEmpty List<@Readonly Document>> files;
    class Folder<F extends @Existing File> { ... }
    Collection<? super @Existing File>
    interface WonderfulList<@Reified E> { ... }
  • implementazioni di interfacce;
    class UnmodifiableList<T> implements @Readonly List<@Readonly T> { ... }
    
  • clausola throws;
    void monitorTemperature() throws @Critical TemperatureException { ... }
    
  • array;
    @Readonly Document [][] docs1 = new @Readonly Document [2][12]; // array of arrays of read-only documents
      Document @Readonly [][] docs2 = new Document @Readonly [2][12]; // read-only array of arrays of documents
      Document[] @Readonly [] docs3 = new Document[2] @Readonly [12]; // array of read-only arrays of documents
    
  • operatore di cast;
    myString = (@NonNull String) myObject;
  • operatore instanceof per testare l’appartenenza di un oggetto ad una classe;
    boolean isNonNull = myString instanceof @NonNull String;
  • creazione di oggetti;
    new @NonEmpty @Readonly List<String>(myNonEmptyStringSet)

Manco a dirlo, chi ha bisogno di un rapido ripasso può fare riferimento ad un paio di risorse utili su HTML.it.

Tags:

Categoria: Java | Permalink

Commenti

1

Oltre la guida su html.it, mi potete consigliare qualche altro sito che le tratta in modo più approfondito.

Grazie

# - postato da diego - 04 Marzo 2010 - 09:45

2

Davvero molto molto interessante.

# - postato da Andrea Zilio - 04 Marzo 2010 - 16:10

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento