Quiero crear una clase con Eclipse EMF que contiene un List
con objetos String
. Veo que Ecore tiene un EList
pero no puedo cambiar el tipo genérico de la lista.¿Cómo crear una lista genérica con Eclipse EMF?
¿Alguna idea de cómo hacer esto?
Quiero crear una clase con Eclipse EMF que contiene un List
con objetos String
. Veo que Ecore tiene un EList
pero no puedo cambiar el tipo genérico de la lista.¿Cómo crear una lista genérica con Eclipse EMF?
¿Alguna idea de cómo hacer esto?
Si desea generar código que le da una EList<String>
, a continuación, añadir un nuevo EAttribute
a un EClass
, darle la EType
EString
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>
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
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
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"
Ahora estás .ecore archivo está listo para usarse para generar una clase java.
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
Hola aphex. De nada. Me alegro de que ayude – CuongHuyTo
Gracias por la respuesta. me ayudó mucho! –