Differenze tra le versioni di "Programmazione:Java/Eclipse RCP/Documentazione Framework/Context Generator"

Da WikiSitech.
Vai alla navigazioneVai alla ricerca
Riga 79: Riga 79:
  
 
Esportazione dump del contesto
 
Esportazione dump del contesto
 +
 +
==Esempio di definizione di un'ApplicationContextGenerator==
 +
<code java>
 +
public class DesktopContextGenerator
 +
  extends FWKBaseContextGenerator implements IFWKApplicationContextGenerator {
 +
  public DesktopContextGenerator() {
 +
  }
 +
 +
  public String getPackageNS_URI() {
 +
      return ContextPackage.eNS_URI;
 +
    }
 +
 +
  public EPackage getPackageINSTANCE() {
 +
      return ContextPackage.eINSTANCE;
 +
  }
 +
 +
  @Override
 +
  public EObject createDefaultContext() {
 +
      return ContextFactory.eINSTANCE.createDesktopContext();
 +
  }
 +
 +
  @Override
 +
  public String getBundleName() {
 +
      return "com.netsitech.rcp.desktop.legacy.context";
 +
  }
 +
 +
  public IFWKApplicationContext generateApplicationContext() {
 +
      return (IFWKApplicationContext) generateContext();
 +
  }
 +
 +
  public IFWKApplicationContext generateApplicationContext(String context_dump) {
 +
      return (IFWKApplicationContext) generateContext(context_dump);
 +
  }
 +
 +
  public String generateXMI(IFWKApplicationContext ctx) {
 +
      return toXMI(ctx);
 +
  }
 +
}
 +
</code>
 +
==Esempio di definizione di un'PerspectiveContextGenerator==

Versione delle 15:47, 26 mar 2008

Il Context Generator è il manager di gestione del contesto, differenziato tra ApplicationContextGenerator e PerspectiveContextGenerator, viene definito in entrambi i casi tramite Extension Point.

Ogni context generator deve estendere la classe FWKBaseContextGenerator e implementare l'interfaccia specifica

Application Context Generator

Perspective Context Generator

Extension Point

Configurazione application context.jpg
Configurazione perspective context.jpg

Interface

IFWKApplicationContextGenerator

IFWKPerspectiveContextGenerator

La classe base dei Context Generator mette a disposizione funzioni di utilità per generare dal contesto il suo dump in XML (XMI) e funzioni per generare il consteso dato il dump

public abstract class FWKBaseContextGenerator {

  public abstract String getBundleName();
  public abstract String getPackageNS_URI();
  public abstract EPackage getPackageINSTANCE();
  public abstract EObject createDefaultContext();
  public EObject generateContext();
  public EObject generateContext(String context_dump);
  public String toXMI(EObject ctx);

}

String getBundleName()

Ritorna il nome del Bundle contenente il modello EMF da trattare


String getPackageNS_URI()

Ritorna il Namespace URI del modello EMF da trattare


EPackage getPackageINSTANCE()

Ritorna il package del modello EMF da trattare


EObject createDefaultContext()

Crea il context di default


public EObject generateContext()

Generazione del contesto (vuoto)


EObject generateContext(String context_dump)

Generezione contesto tramite dump


String toXMI(EObject ctx)

Esportazione dump del contesto

Esempio di definizione di un'ApplicationContextGenerator

public class DesktopContextGenerator

  extends FWKBaseContextGenerator implements IFWKApplicationContextGenerator {
  public DesktopContextGenerator() {
  }
  public String getPackageNS_URI() {
     return ContextPackage.eNS_URI;
    }
  public EPackage getPackageINSTANCE() {
     return ContextPackage.eINSTANCE;
  }
  @Override
  public EObject createDefaultContext() {
     return ContextFactory.eINSTANCE.createDesktopContext();
  }
  @Override
  public String getBundleName() {
     return "com.netsitech.rcp.desktop.legacy.context";
  }
  public IFWKApplicationContext generateApplicationContext() {
     return (IFWKApplicationContext) generateContext();
  }
  public IFWKApplicationContext generateApplicationContext(String context_dump) {
     return (IFWKApplicationContext) generateContext(context_dump);
  }
  public String generateXMI(IFWKApplicationContext ctx) {
     return toXMI(ctx);
  }

}

Esempio di definizione di un'PerspectiveContextGenerator