2012-07-18 17 views

Respuesta

13

Si desea generar código que le da una EList<String>, a continuación, añadir un nuevo EAttribute a un EClass, darle la ETypeEString y establezca su "límite superior" a la propiedad '-1'.

Si desea crear una lista de este tipo mediante programación, se puede utilizar el BasicEList por ejemplo (org.eclipse.emf.common.util.BasicEList<E>):

EList<String> stringList = new BasicEList<String>(); 

Si desea ver otras opciones, abra la jerarquía de tipos en: org.eclipse.emf.common.util.AbstractEList<E>

+0

Gracias por la respuesta. me ayudó mucho! –

6

No estoy seguro de si su pregunta fue respondida, y lo que realmente quiere hacer.

Si desea generar código Java a partir de un archivo .ecore, proporciono aquí un ejemplo utilizando el Editor de Ecus Modelo de Eclipse Juno de EMF (haga clic con el botón derecho en el archivo .ecore).

Quizás no sea directamente lo que quiere, pero esto podría ser útil para otra persona.

supongamos que desea un método como este en su MiClase clase Java generada:

<T extends String> EList<T> getListOfType(Class<T> T) 

En su Ecore Muestra Editor del modelo que quiere lograr How your method looks in the Ecore Editor por

  • añadir a myClass un "Nuevo Niño "de EOperation, llámalo getListOfType
  • agrega getListOfType un" Nuevo hijo "de ETypeParameter, nómbralo T
  • agrega a T a" New Chil " d "de EGeneric Bound Type, verías una" T extends "? en lugar de "T"
  • haga clic en la flecha "T extends?", haga clic en "?", en la ventana "Propiedad" elija dentro del menú desplegable de EClassifier un EString, ahora verá "T extends EString"

  • añadir a getListOfType un "nuevo hijo" de EGeneric Tipo de retorno

  • clic en la nueva creación "?" del tipo de retorno, elija dentro de un menú desplegable de EClassifier abajo de un EEList
  • abrir la flecha de EEList, en la ventana de la Propiedad elegir dentro de un menú desplegable de EEscriba parámetro por una "T se extiende Estring"

  • añadir a getListOfType un "nuevo hijo" de "EParameter"

  • en la ventana de propiedades del parámetro recién creado "nulo", elija Nombre como "clazz", EEscriba como "EJavaClass"
  • en la ventana de propiedades de la nueva " ?"(Dos niveles por debajo del nodo "clazz: EJavaClass"), elija EEscriba parámetro como "T se extiende Estring", ahora "clazz: EJavaClass" se convierte en "clazz: EJavaClass"

Ahora estás .ecore archivo está listo para usarse para generar una clase java.

How your method looks in the Ecore Editor

+2

Gracias por el gran tutorial. tenía el problema de seguirlo, porque no he permitido los genéricos en mi editor. Para hacerlo, vaya a Editor de muestras Ecore -> Mostrar genéricos. – aphex

+0

Hola aphex. De nada. Me alegro de que ayude – CuongHuyTo

Cuestiones relacionadas