Classes de <<Entidade>>

A transformação UML em EJB transforma uma classe marcada com o estereótipo <<Entidade>> em um bean de entidade CMP 2.x, CMP 1.1 ou BMP com um nome de bean igual ao nome da classe UML de origem. O tipo de bean de entidade gerado corresponde à opção selecionada na janela de configuração da transformação EJB, na guia Entidade.

A transformação sempre gera as classes Java a seguir para beans de entidade:

 

A transformação gera as classes Java a seguir quando, na guia Entidade, você clica em Somente Interfaces Remotas:

 

A transformação gera as classes Java a seguir quando, na guia Entidade, você clica em Somente Interfaces Locais:

 

A transformação gera as classes Java a seguir quando, na guia Entidade, você clica em Interfaces Locais e Remotas:

 

A transformação gera todas as classes na pasta de pacote que é gerada para o pacote-pai da classe UML de origem. Se você criar um modelo UML sem pacotes, a transformação gerará um pacote padrão denominado ejbs.

A transformação gera os arquivos de classe do bean e de classe da chave na árvore de origem do projeto EJB de destino.

A transformação gera os quatro arquivos de interface na árvore de origem do projeto cliente do projeto EJB de destino. Se não existir nenhum projeto cliente, a transformação gerará os arquivos de interface no projeto EJB de destino.

A transformação inclui dados que definem o bean de entidade para o descritor de implementação (ejb-jar.xml).

Relacionamentos de Generalização

Se a classe UML de origem do bean de entidade tiver um relacionamento de generalização (por exemplo, estende) com outra classe UML com o estereótipo <<Entidade>>, o bean de entidade representado pela classe se tornará a superclasse EJB do bean de entidade gerado.

Ambos os beans de entidade devem ter o mesmo tipo. Portanto, os dois deverão ser CMP 2.x, CMP 1.1 ou BMP. Por exemplo, se o superbean for um bean de entidade CMP 2.x, todos os beans-filho deverão ser beans de entidade CMP 2.x. Se o superbean não tiver o mesmo tipo que o bean-filho esperado, a transformação gerará o bean-filho sem um relacionamento de generalização.

Relacionamentos de Realização

Se a classe UML de origem do bean de entidade tiver relacionamentos de realização (por exemplo,  implementa) com elementos da interface, as interfaces representadas pelas interfaces de origem serão implementadas pelas quatro interfaces (remota, home, local, home local).

Atributos não Marcados – CMP 2.x

A transformação transforma atributos na classe UML de origem em campos CMP no bean de entidade, com as propriedades listadas na tabela a seguir:

Propriedade do campo CMP 2.x

Valor do campo CMP

Nome

Nome do atributo UML

Tipo

Tipo determinado a partir do tipo de atributo (consulte a tabela “Mapa de Tipos”.)

Campo de chave

Falso

Gerar campo na classe de implementação do bean

Falso

Gerar getter e setter

Verdadeiro

Promover getter e setter para interfaces locais

Verdadeiro (se existirem interfaces locais)

Promover getter e setter para interfaces remotas

Verdadeiro (se existirem interfaces remotas)

IsArray

Verdadeiro se o atributo UML tiver um valor superior finito

Se o tipo de atributo for aquele de outro bean de entidade CMP 2.x, a transformação não transformará o atributo em um campo CMP, mas assumirá que ele faça parte de uma associação que deve ser transformada em um relacionamento EJB. Entretanto, se o tipo de atributo for aquele de outro bean corporativo que não é um bean de entidade CMP 2.x, a transformação não transformará o atributo em um campo CMP ou em uma associação. Em vez disso, a transformação gravará uma mensagem no arquivo de log indicando que o atributo de origem não será transformado.

Atributos não Marcados – CMP 1.1

A transformação transforma atributos na classe UML de origem em campos CMP no bean de entidade, com as propriedades listadas na tabela a seguir:

Propriedade do campo CMP 1.1

Valor do campo CMP

Nome

Nome do atributo UML

Tipo

Tipo determinado a partir do tipo de atributo (consulte a tabela “Mapa de Tipos”.)

Campo de chave

Falso

Gerar campo na classe de implementação do bean

Falso

Gerar getter e setter

Verdadeiro

Promover getter e setter para interfaces locais

Falso

Promover getter e setter para interfaces remotas

Verdadeiro (sempre)

IsArray

Verdadeiro se o atributo UML tiver um valor superior finito

Se o tipo de atributo for aquele de outro bean de entidade ou bean corporativo, a transformação não transformará o atributo em um campo CMP ou em uma associação. Em vez disso, a transformação gravará uma mensagem no arquivo de log indicando que o atributo de origem não será transformado.

Atributos não Marcados – BMP

A transformação transforma atributos na classe UML de origem em campos BMP no bean de entidade, com as propriedades listadas na tabela a seguir:

Propriedade do campo BMP

Valor do campo BMP

Nome

Nome do atributo UML

Tipo

Tipo determinado a partir do tipo de atributo (consulte a tabela “Mapa de Tipos”.)

Campo de chave

Falso

Gerar campo na classe de implementação do bean

Verdadeiro

Gerar getter e setter

Verdadeiro

Promover getter e setter para interfaces locais

Verdadeiro (se existirem interfaces locais)

Promover getter e setter para interfaces remotas

Verdadeiro (se existirem interfaces remotas)

IsArray

Verdadeiro se o atributo UML tiver um valor superior finito

Se o tipo de atributo for aquele de outro bean de entidade ou EJB, a transformação não transformará o atributo em um campo BMP ou em uma associação. Em vez disso, a transformação gravará uma mensagem no arquivo de log indicando que o atributo de origem não será transformado.

Atributos <<Id>> – CMP 2.x e CMP 1.1

A transformação também transforma atributos na classe UML de origem marcados com o atributo <<Id>> em campos CMP, mas com valores de propriedades diferentes, conforme listado na tabela a seguir. Esses campos CMP ajudam a formar a chave principal.

Propriedade dos campos CMP 2.x e CMP 1.1

Valor do campo CMP

Nome

Nome do atributo UML

Tipo

Tipo determinado a partir do tipo de atributo (consulte a tabela “Mapa de Tipos”.)

Campo de chave

Verdadeiro

Gerar campo na classe de implementação do bean

Falso

Gerar getter e setter

Verdadeiro

Promover getter e setter para interfaces locais

Falso

Promover getter e setter para interfaces remotas

Falso

IsArray

Verdadeiro se o atributo UML tiver um valor superior finito

Se o tipo de atributo for aquele de outro bean de entidade ou bean corporativo, a transformação não transformará o atributo em um campo de chave CMP ou em uma associação. Em vez disso, a transformação gravará uma mensagem no arquivo de log indicando que o atributo de origem não será transformado.

Atributos <<Id>> – BMP

A transformação também transforma atributos na classe UML de origem marcados com o atributo <<Id>> em campos BMP, mas com valores de propriedades diferentes, conforme listado na tabela a seguir. Esses campos BMP ajudam a formar a chave principal.

Propriedade do campo BMP

Valor do campo BMP

Nome

Nome do atributo UML

Tipo

Tipo determinado a partir do tipo de atributo (consulte a tabela “Mapa de Tipos”.)

Campo de chave

Verdadeiro

Gerar campo na classe de implementação do bean

Verdadeiro

Gerar getter e setter

Verdadeiro

Promover getter e setter para interfaces locais

Falso

Promover getter e setter para interfaces remotas

Falso

IsArray

Verdadeiro se o atributo UML tiver um valor superior finito

Se o tipo de atributo for aquele de outro bean de entidade ou bean corporativo, a transformação não transformará o atributo em um campo de chave BMP ou em uma associação. Em vez disso, a transformação gravará uma mensagem no arquivo de log indicando que o atributo de origem não será transformado.

Mapa de Tipos dos Campos CMP e BMP

Conforme ilustra a tabela a seguir, a transformação gera os campos CMP e BMP com tipos baseados no tipo de atributo de origem:

Tipo de atributo UML

Tipo de campo CMP/BMP

booleano

booleano

byte

byte

caractere

caractere

flutuante

flutuante

int

int

longo

longo

curto

curto

Booleano

java.lang.Boolean

Byte

java.lang.Byte

Caractere

java.lang.Char

Flutuante

java.lang.Float

Inteiro

java.lang.Integer

Longo

java.lang.Long

Curto

java.lang.Short

Cadeia

java.lang.String

outro

Nome completo

 

Operações não Marcadas

A transformação transforma operações não marcadas na classe UML de origem em métodos de negócios no bean de entidade. Inicialmente, a operação é transformada da mesma maneira que uma operação em uma classe UML não marcada. A operação transformada é incluída nas classes listadas na tabela a seguir, com algumas modificações.

Classe

Modificações de métodos

Classe de bean

Sem alteração

Interface local

Método de interface

Interface remota

Método de interface, lança java.rmi.RemoteException

 

Operações de <<Consulta>> – CMP 2.x

A transformação transforma operações de <<Consulta>> na classe UML de origem em um dos dois tipos de métodos de consulta: métodos localizadores e métodos de seleção. Os métodos de seleção existem somente em beans de entidade CMP 2.x.

A transformação gera métodos localizadores nas classes listadas na tabela a seguir, com algumas modificações:

Classe

Modificações de métodos

Interface home local

(se existirem interfaces locais)

  • Nome do findXxx (Consulte a tabela “Nome do Localizador”.)
  • Lança javax.ejb.FinderException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador”.)

Interface home remota

(se existirem interfaces remotas)

  • Nome do findXxx (Consulte a tabela “Nome do Localizador”.)
  • Lança javax.ejb.FinderException
  • Lança java.rmi.RemoteException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador”.)

 

Nome do Localizador

Nome da operação UML

Nome do método localizador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

Tipo de Retorno do Localizador da Interface Home

Tipo de retorno analisado pela transformação Java

Tipo de retorno do método localizador

Coleta

java.util.Collection

Conjunto

java.util.Set

Lista

java.util.Collection

SortedList

java.util.Set

<nome da classe de origem>[]

java.util.Collection

<nome da classe de origem> OU “nulo”

  • Nome da interface local
  • Nome da interface remota

<nome do tipo definido pelo usuário>[]

java.util.Collection

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>[]

java.util.Collection

<nome do tipo definido pelo usuário>

Gerar um método de seleção em vez de um método localizador

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>

Gerar um método de seleção em vez de um método localizador

 

A transformação EJB cria uma tarefa que indica que você precisa incluir manualmente uma consulta no descritor de implementação de cada método localizador gerado.

A transformação transformará uma operação de consulta em um método de seleção se a visibilidade da operação for privada ou se o tipo de retorno for diferente do nome da classe UML de origem e o tipo de bean de entidade for CMP 2.x.

Visibilidade da operação

Tipo de retorno

Tipo de método

Privado

Igual ao nome da classe de origem

Método de seleção

Não privado

Igual ao nome da classe de origem

Método localizador

Privado

Diferente do nome da classe de origem

Método de seleção

Não privado

Diferente do nome da classe de origem

Método de seleção

 

A transformação gera métodos de seleção na classe de bean, com as modificações a seguir:

 

Nome da Seleção

Nome da operação UML

Nome do  método de seleção

xxx

ejbSelectXxx

selectXxx

ejbSelectXxx

SelectXxx

ejbSelectXxx

ejbSelectXxx

ejbSelectXxx

 

Tipo de Retorno da Seleção

Tipo de retorno analisado pela transformação Java

Tipo de retorno do método de seleção

Coleta

java.util.Collection

Conjunto

java.util.Set

Lista

java.util.Collection

SortedList

java.util.Set

<nome da classe de origem>[]

java.util.Collection

<nome da classe de origem> OU “nulo”

Nome da interface local

<nome do tipo definido pelo usuário>[]

java.util.Collection

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>[]

java.util.Collection

<nome do tipo definido pelo usuário>

Nome do tipo definido pelo usuário

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>

Diferente do nome da classe de origem

A transformação EJB cria uma tarefa que indica que você precisa incluir manualmente uma consulta no descritor de implementação de cada método de seleção gerado.

Operações de <<Consulta>> – CMP 1.1

A transformação transforma operações de <<Consulta>> na classe UML de origem em um tipo de método de consulta: métodos localizadores. Os beans de entidade CMP 1.1 não suportam métodos de seleção, uma vez que estão disponíveis apenas para os beans de entidade CMP 2.x. Portanto, independentemente do tipo de retorno e da visibilidade da operação de <<Consulta>>, a transformação sempre gerará um método localizador na interface home remota do bean de entidade.

Conforme ilustra a tabela a seguir, a transformação sempre gera métodos localizadores na interface home remota, com algumas modificações:

Classe

Modificações de métodos

Interface home remota

  • Nome do findXxx (Consulte a tabela “Nome do Localizador da Interface Home Remota”.)
  • Lança javax.ejb.FinderException
  • Lança java.rmi.RemoteException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador da Interface Home Remota”.)

 

Nome do Localizador da Interface Home Remota

Nome da operação UML

Nome do método localizador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

 

Tipo de Retorno do Localizador da Interface Home Remota

Tipo de retorno analisado pela transformação Java

Tipo de retorno do método localizador

Coleta

java.util.Collection

Conjunto

java.util.Set

Lista

java.util.Collection

SortedList

java.util.Set

<nome da classe de origem>[]

java.util.Collection

<nome da classe de origem> OU “nulo”

Nome da interface remota

<nome do tipo definido pelo usuário>[]

java.util.Collection

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>[]

java.util.Collection

<nome do tipo definido pelo usuário>

Nome da interface remota

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>

Nome da interface remota

A transformação EJB cria uma tarefa que indica que você precisa incluir manualmente uma consulta no descritor de implementação de cada método localizador gerado.

Operações de <<Consulta>> – BMP

A transformação transforma operações de <<Consulta>> na classe UML de origem em um tipo de método de consulta: métodos localizadores. Os beans de entidade BMP de qualquer versão não suportam métodos de seleção, uma vez que estão disponíveis apenas para os beans de entidade CMP 2.x. Portanto, independentemente do tipo de retorno e da visibilidade da operação de <<Consulta>>, a transformação sempre gerará um método localizador na classe de implementação do bean. A transformação gerará então métodos localizadores nas interfaces existentes do bean de entidade.

Conforme ilustra a tabela a seguir, a transformação gera métodos localizadores nas classes a seguir, com algumas modificações:

Classe

Modificações de métodos

Interface home local
(se existirem interfaces locais)

  • Nome do findXxx (Consulte a tabela “Nome do Localizador Home Remoto (Local)”.)
  • Lança javax.ejb.FinderException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador da Interface Remota (Local)”.)

Interface home remota

(se existirem interfaces remotas)

  • Nome do findXxx (Consulte a tabela “Nome do Localizador Home Remoto (Local)”.)
  • Lança javax.ejb.FinderException
  • Lança java.rmi.RemoteException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador da Interface Remota (Local)”.)

Classe de implementação do bean

  • Nome do ejbFindXxx (Consulte a tabela Nome do Localizador da Classe Bean.)
  • Lança javax.ejb.FinderException
  • Tipo de retorno (Consulte a tabela “Tipo de Retorno do Localizador da Classe Bean”.)

 

Nome do Localizador Home Remoto (Local)

Nome da operação UML

Nome do método localizador

xxx

findXxx

findXxx

findXxx

FindXxx

findXxx

ejbFindXxx

findEjbFindXxx

EjbFindXxx

findEjbFindXxx

 

Nome do Localizador da Classe Bean

Nome da operação UML

Nome do método localizador

xxx

ejbFindXxx

findXxx

ejbFindXxx

FindXxx

ejbFindXxx

ejbFindXxx

ejbFindEjbFindXxx

EjbFindXxx

ejbFindEjbFindXxx

 

Tipo de Retorno do Localizador da Interface Home

Tipo de retorno analisado pela transformação Java

Tipo de retorno do método localizador

Coleta

java.util.Collection

Conjunto

java.util.Set

Lista

java.util.Collection

SortedList

java.util.Set

<nome da classe de origem>[]

java.util.Collection

<nome da classe de origem> OU “nulo”

  • Nome da interface local
  • Nome da interface remota

<nome do tipo definido pelo usuário>[]

java.util.Collection

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>[]

java.util.Collection

<nome do tipo definido pelo usuário>

  • Nome da interface local
  • Nome da interface remota

<diferente do nome da classe de origem (por exemplo, Cadeia, Inteiro, etc.)>

  • Nome da interface local
  • Nome da interface remota

 

Tipo de Retorno do Localizador da Classe Bean

Tipo de retorno analisado pela transformação Java

Tipo de retorno do método localizador

Coleta

java.util.Collection

Conjunto

java.util.Set

Lista

java.util.Collection

SortedList

java.util.Set

<nome da classe>[]

java.util.Collection

<nome da classe> OU “nulo”

Nome da classe da chave

 

Classes Internas

Ignorado.

Interfaces Internas

Ignorado.

Termos de uso | Feedback
(C) Copyright IBM Corporation 2004.
Todos os Direitos Reservados.