Clases de <<Entity>>

La transformación de UML en EJB transforma una clase que está marcada con el estereotipo <<Entity>> en un bean de entidad CMP 2.x, CMP 1.1 o BMP cuyo nombre de bean es igual al nombre de la clase UML de origen. El tipo de bean de entidad generado corresponde a la opción que seleccione en la ventana de configuración de transformación EJB, en la pestaña Entidad.

La transformación siempre genera las siguientes clases Java para beans de entidad:

 

La transformación genera las siguientes clases Java cuando, en la pestaña Entidad, pulsa Sólo interfaces remotas:

 

La transformación genera las siguientes clases Java cuando, en la pestaña Entidad, pulsa Sólo interfaces locales:

 

La transformación genera las siguientes clases Java cuando, en la pestaña Entidad, pulsa Interfaces remotas y locales:

 

La transformación genera todas las clases de la carpeta de paquetes que se genera para el paquete principal de la clase UML de origen. Si crea un modelo UML sin paquetes, la transformación genera un paquete por omisión denominado ejbs.

La transformación genera los archivos de clase de bean y clase de clave en el árbol de origen del proyecto EJB de destino.

La transformación genera los cuatro archivos de interfaz en el árbol del origen del proyecto de cliente del proyecto EJB de destino. Si no existe ningún proyecto de cliente, la transformación genera los archivos de interfaz en el proyecto EJB de destino.

La transformación añade los datos que definen en bean de entidad al descriptor de despliegue (ejb-jar.xml).

Relaciones de generalización

Si la clase UML de origen para el bean de entidad tiene una relación de generalización (por ejemplo, una relación ampliada) con otra clase UML con el estereotipo <<Entity>>, el bean de entidad que representa la clase pasa a ser la superclase EJB para el bean de entidad que se va a generar.

Los dos beans de entidad deben ser del mismo tipo. Por lo tanto, ambos beans de entidad deben ser CMP 2.x, CMP 1.1 o BMP. Por ejemplo, si el superbean es un bean de entidad CMP 2.x, todos los beans hijo deben ser beans de entidad CMP 2.x. Si el superbean no es del mismo tipo que el bean hijo esperado, la transformación genera el bean hijo sin una relación de generalización.

Relaciones de realización

Si la clase UML de origen para el bean de entidad tiene relaciones de realización (por ejemplo, relaciones de implementaciones) con elementos de interfaz, la interfaces que representan las interfaces de origen son implementadas por las cuatro interfaces (remota, inicial, local, de inicio local).

Atributos no marcados – CMP 2.x

La transformación transforma los atributos de la clase UML de origen en campos CMP del bean de entidad con las propiedades que se listan en la tabla siguiente:

Propiedad de campo CMP 2.x

Valor de campo CMP

Nombre

Nombre de atributo UML

Tipo

Tipo determinado a partir del tipo de atributo (consulte la tabla "Correlaciones de tipos".)

Campo de clave

Falso

Generar campo en clase de implementación de bean

Falso

Generar métodos get y set

Verdadero

Promover métodos get y set en interfaces locales

Verdadero (si existen interfaces locales)

Promover métodos get y set en interfaces remotas

Verdadero (si existen interfaces remotas)

IsArray

Verdadero si el atributo UML tiene un valor superior finito

Si el tipo de atributo pertenece a otro bean de entidad CMP 2.x, la transformación no transforma el atributo en un campo CMP, pero presupone que forma parte de una asociación, que debería transformarse en una relación EJB. Sin embargo, si el tipo de atributo pertenece a otro enterprise bean diferente al bean de entidad CMP 2.x, la transformación no transforma el atributo en un campo CMP o una asociación. En su lugar, la transformación escribe un mensaje en el archivo de registro que enuncia que el atributo de origen no se transformará.

Atributos no marcados – CMP 1.1

La transformación transforma los atributos de la clase UML de origen en campos CMP del bean de entidad con las propiedades que se listan en la tabla siguiente:

Propiedad del campo CMP 1.1

Valor de campo CMP

Nombre

Nombre de atributo UML

Tipo

Tipo determinado a partir del tipo de atributo (consulte la tabla "Correlaciones de tipos".)

Campo de clave

Falso

Generar campo en clase de implementación de bean

Falso

Generar métodos get y set

Verdadero

Promover métodos get y set en interfaces locales

Falso

Promover métodos get y set en interfaces remotas

Verdadero (siempre)

IsArray

Verdadero si el atributo UML tiene un valor superior finito

Si el tipo de atributo pertenece a otro bean de entidad o enterprise bean, la transformación no transforma el atributo en un campo CMP o una asociación. En su lugar, la transformación escribe un mensaje en el archivo de registro que enuncia que el atributo de origen no se transformará.

Atributos no marcados – BMP

La transformación transforma los atributos de la clase UML de origen en campos BMP del bean de entidad con las propiedades que se listan en la tabla siguiente:

Propiedad de campo BMP

Valor de campo BMP

Nombre

Nombre de atributo UML

Tipo

Tipo determinado a partir del tipo de atributo (consulte la tabla "Correlaciones de tipos".)

Campo de clave

Falso

Generar campo en clase de implementación de bean

Verdadero

Generar métodos get y set

Verdadero

Promover métodos get y set en interfaces locales

Verdadero (si existen interfaces locales)

Promover métodos get y set en interfaces remotas

Verdadero (si existen interfaces remotas)

IsArray

Verdadero si el atributo UML tiene un valor superior finito

Si el tipo de atributo pertenece a otro bean de entidad o EJB, la transformación no transforma el atributo en un campo BMP o una asociación. En su lugar, la transformación escribe un mensaje en el archivo de registro que enuncia que el atributo de origen no se transformará.

Atributos de <<ID>> – CMP 2.x y CMP 1.1

La transformación también transforma atributos de la clase UML de origen que están marcados con el atributo de <<ID>> en campos CMP, pero con valores de propiedad diferentes, como se lista en la tabla siguiente. Estos campos CMP ayudan a dar formato a la clave principal.

Propiedad de campo CMP 2.x y CMP 1.1

Valor de campo CMP

Nombre

Nombre de atributo UML

Tipo

Tipo determinado a partir del tipo de atributo (consulte la tabla "Correlaciones de tipos".)

Campo de clave

Verdadero

Generar campo en clase de implementación de bean

Falso

Generar métodos get y set

Verdadero

Promover métodos get y set en interfaces locales

Falso

Promover métodos get y set en interfaces remotas

Falso

IsArray

Verdadero si el atributo UML tiene un valor superior finito

Si el tipo de atributo pertenece a otro bean de entidad o enterprise bean, la transformación no transforma el atributo en un campo CMP de clave o una asociación. En su lugar, la transformación escribe un mensaje en el archivo de registro que enuncia que el atributo de origen no se transformará.

Atributos de <<ID>> – BMP

La transformación también transforma atributos de la clase UML de origen que están marcados con <<ID>> en campos BMP, pero con valores de propiedad diferentes, como se lista en la tabla siguiente. Estos campos BMP ayudan a dar formato a la clave principal.

Propiedad de campo BMP

Valor de campo BMP

Nombre

Nombre de atributo UML

Tipo

Tipo determinado a partir del tipo de atributo (consulte la tabla "Correlaciones de tipos".)

Campo de clave

Verdadero

Generar campo en clase de implementación de bean

Verdadero

Generar métodos get y set

Verdadero

Promover métodos get y set en interfaces locales

Falso

Promover métodos get y set en interfaces remotas

Falso

IsArray

Verdadero si el atributo UML tiene un valor superior finito

Si el tipo de atributo pertenece a otro bean de entidad o enterprise bean, la transformación no transforma el atributo en un campo BMP de clave o una asociación. En su lugar, la transformación escribe un mensaje en el archivo de registro que enuncia que el atributo de origen no se transformará.

Correlación de tipo de campo CMP y BMP

Como se ilustra en la siguiente tabla, la transformación genera los campos CMP y BMP con tipos basados en el tipo de atributo de origen:

Tipo de atributo UML

Tipo de campo CMP/BMP

booleano

booleano

byte

byte

char

char

flotante

flotante

int

int

largo

largo

corto

corto

Booleano

java.lang.Boolean

Byte

java.lang.Byte

Char

java.lang.Char

Float

java.lang.Float

Entero

java.lang.Integer

Long

java.lang.Long

Short

java.lang.Short

Cadena de caracteres

java.lang.String

otros

nombre calificado

 

Operaciones no marcadas

La transformación transforma operaciones no marcadas de la clase UML de origen en métodos empresariales del bean de entidad. Inicialmente, la operación se transforma del mismo modo que una operación en una clase UML no marcada. La operación transformada se añade a las clases que se listan en la siguiente tabla, con algunas modificaciones.

Clase

Modificaciones de método

Clase de bean

Sin cambio

Interfaz local

Método de interfaz

Interfaz remota

Método de interfaz, emite java.rmi.RemoteException

 

Operaciones de <<consulta>> – CMP 2.x

La transformación transforma operaciones de <<consulta>> de la clase UML de origen en uno de los dos tipos de métodos de consulta: los métodos buscadores y los métodos de selección. Los métodos de selección sólo existen en los beans de entidad CMP 2.x.

La transformación genera métodos buscadores en las clases listadas en la siguiente tabla, con algunas modificaciones:

Clase

Modificaciones de método

Interfaz de inicio local

(si existen interfaces locales)

  • Nombre de findXxx (Consulte la tabla “Nombre de buscador”.)
  • Emite javax.ejb.FinderException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador”.)

Interfaz de inicio remota

(si existen interfaces remotas)

  • Nombre de findXxx (Consulte la tabla “Nombre de buscador”.)
  • Emite javax.ejb.FinderException
  • Emite java.rmi.RemoteException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador”.)

 

Nombre de buscador

Nombre de operación UML

Nombre de método buscador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

Tipo de retorno de buscador de interfaz inicial

La transformación de Java ha analizado el tipo de retorno

Tipo de retorno del método buscador

Recopilación

java.util.Collection

Establecer

java.util.Set

Listar

java.util.Collection

SortedList

java.util.Set

<nombre de clase de origen>[]

java.util.Collection

<nombre de clase de origen> O “void”

  • Nombre de interfaz local
  • Nombre de interfaz remota

<nombre de tipo definido por el usuario>[]

java.util.Collection

<nombre de clase no origen (por ejemplo, String, Integer, etc.)>[]

java.util.Collection

<nombre de tipo definido por el usuario>

Generar un método de selección en lugar de un método buscador

<nombre de clase no origen (por ejemplo, String, Integer, etc)>

Generar un método de selección en lugar de un método buscador

 

La transformación EJB crea una tarea que le indica que debe añadir manualmente una consulta al descriptor de despliegue para cada método buscador generado.

La transformación transforma una operación de consulta en un método de selección si la visibilidad de la operación es privada o si el tipo de retorno es diferente del nombre de la clase UML de origen y el tipo de bean de entidad es CMP 2.x.

Visibilidad de la operación

Tipo de retorno

Tipo de método

Privado

Igual al nombre de clase de origen

Seleccionar método

No es privado

Igual al nombre de clase de origen

Método buscador

Privado

No es el nombre de clase de origen

Seleccionar método

No es privado

No es el nombre de clase de origen

Seleccionar método

 

La transformación genera métodos de selección en la clase de bean con las modificaciones siguientes:

 

Selección de nombres

Nombre de operación UML

Nombre de método de selección

xxx

ejbSelectXxx

selectXxx

ejbSelectXxx

SelectXxx

ejbSelectXxx

ejbSelectXxx

ejbSelectXxx

 

Seleccionar tipo de retorno

La transformación de Java ha analizado el tipo de retorno

Seleccionar tipo de método de retorno

Recopilación

java.util.Collection

Establecer

java.util.Set

Listar

java.util.Collection

SortedList

java.util.Set

<nombre de clase de origen>[]

java.util.Collection

<nombre de clase de origen> O “void”

Nombre de interfaz local

<nombre de tipo definido por el usuario>[]

java.util.Collection

<nombre de clase no origen (por ejemplo, String, Integer, etc.)>[]

java.util.Collection

<nombre de tipo definido por el usuario>

nombre de tipo definido por el usuario

<nombre de clase no origen (por ejemplo, String, Integer, etc)>

nombre de clase no origen

La transformación EJB crea una tarea que le indica que debe añadir manualmente una consulta al descriptor de despliegue para cada método de selección generado.

Operaciones de <<consulta>> – CMP 1.1

La transformación transforma operaciones de <<consulta>> de la clase UML de origen en un tipo de método de consulta: métodos buscadores. Los beans de entidad CMP 1.1 no admiten métodos de selección, ya que sólo están disponibles para beans de entidad CMP 2.x. Por lo tanto, independientemente del tipo de retorno y la visibilidad de la operación de <<consulta>>, la transformación siempre genera un método buscador en la interfaz de inicio remoto del bean de entidad.

Como se ilustra en la siguiente tabla, la transformación siempre genera métodos buscadores en la interfaz de inicio remoto, con algunas modificaciones:

Clase

Modificaciones de método

Interfaz de inicio remota

  • Nombre de findXxx (Consulte la tabla “Nombre buscador de interfaz de inicio remoto”.)
  • Emite javax.ejb.FinderException
  • Emite java.rmi.RemoteException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador de interfaz de inicio remoto”.)

 

Nombre de buscador de interfaz de inicio remoto

Nombre de operación UML

Nombre de método buscador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

Tipo de retorno de buscador de interfaz de inicio remoto

La transformación de Java ha analizado el tipo de retorno

Tipo de retorno del método buscador

Recopilación

java.util.Collection

Establecer

java.util.Set

Listar

java.util.Collection

SortedList

java.util.Set

<nombre de clase de origen>[]

java.util.Collection

<nombre de clase de origen> O “void”

Nombre de interfaz remota

<nombre de tipo definido por el usuario>[]

java.util.Collection

<nombre de clase no origen (por ejemplo, String, Integer, etc.)>[]

java.util.Collection

<nombre de tipo definido por el usuario>

Nombre de interfaz remota

<nombre de clase no origen (por ejemplo, String, Integer, etc)>

Nombre de interfaz remota

La transformación EJB crea una tarea que le indica que debe añadir manualmente una consulta al descriptor de despliegue para cada método buscador generado.

Operaciones de <<consulta>> – BMP

La transformación transforma operaciones de <<consulta>> de la clase UML de origen en un tipo de método de consulta: métodos buscadores. Los beans de entidad BMP, de cualquier versión, no admiten métodos de selección, ya que sólo están disponibles para beans de entidad CMP 2.x. Por lo tanto, independientemente del tipo de retorno y la visibilidad de la operación de <<consulta>>, la transformación siempre genera un método buscador en la clase de implementación de bean. Entonces, la transformación genera métodos buscadores en las interfaces existentes del bean de entidad.

Como se ilustra en la siguiente tabla, la transformación genera métodos buscadores en las clases siguientes, con algunas modificaciones:

Clase

Modificaciones de método

Interfaz de inicio local
(si existen interfaces locales)

  • Nombre de findXxx (Consulte la tabla “Nombre de buscador de inicio remoto (local)".)
  • Emite javax.ejb.FinderException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador de interfaz remota (local)”.)

Interfaz de inicio remota

(si existen interfaces remotas)

  • Nombre de findXxx (Consulte la tabla “Nombre de buscador de inicio remoto (local)".)
  • Emite javax.ejb.FinderException
  • Emite java.rmi.RemoteException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador de interfaz remota (local)”.)

Clase de implementación de bean

  • Nombre de ejbFindXxx (Consulte la tabla "Nombre de buscador de clase de bean".)
  • Emite javax.ejb.FinderException
  • Tipo de retorno (Consulte la tabla “Tipo de retorno de buscador de clase de bean”.)

 

Nombre de buscador de inicio remoto (local)

Nombre de operación UML

Nombre de método buscador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

ejbFindXxx

findEjbFindXxx

EjbFindXxx

findEjbFindXxx

 

Nombre de buscador de clase de bean

Nombre de operación UML

Nombre de método buscador

xxx

ejbFindXxx

findXxx

ejbFindXxx

FindXxx

ejbFindXxx

ejbFindXxx

ejbFindEjbFindXxx

EjbFindXxx

ejbFindEjbFindXxx

 

Tipo de retorno de buscador de interfaz inicial

La transformación de Java ha analizado el tipo de retorno

Tipo de retorno del método buscador

Recopilación

java.util.Collection

Establecer

java.util.Set

Listar

java.util.Collection

SortedList

java.util.Set

<nombre de clase de origen>[]

java.util.Collection

<nombre de clase de origen> O “void”

  • Nombre de interfaz local
  • Nombre de interfaz remota

<nombre de tipo definido por el usuario>[]

java.util.Collection

<nombre de clase no origen (por ejemplo, String, Integer, etc.)>[]

java.util.Collection

<nombre de tipo definido por el usuario>

  • Nombre de interfaz local
  • Nombre de interfaz remota

<nombre de clase no origen (por ejemplo, String, Integer, etc)>

  • Nombre de interfaz local
  • Nombre de interfaz remota

 

Tipo de retorno de buscador de clase de bean

La transformación de Java ha analizado el tipo de retorno

Tipo de retorno del método buscador

Recopilación

java.util.Collection

Establecer

java.util.Set

Listar

java.util.Collection

SortedList

java.util.Set

<nombre de clase>[]

java.util.Collection

<nombre de clase> O “void”

Nombre de clase de clave

 

Clases internas

Omitidas.

Interfaces internas

Omitidas.

Condiciones de uso | Información de retorno
(C) Copyright IBM Corporation 2004.
Reservados todos los derechos.