Regras de Compromisso da API
- Apenas as APIs expostas na referência javadoc são suportadas para programação,
a menos que sejam observadas de outra maneira na documentação da API. As APIs no javadocs
são estáveis e não serão removidas nos limites da versão. As APIs do CARMA
podem ser reprovadas em releases futuros, mas devem continuar a ficar disponíveis e
utilizáveis pelos programadores futuramente, conforme definido pela documentação. Outras
APIs podem ser localizadas nos plug-ins do CARMA, mas devem ser consideradas não suportadas
e sujeitas à alteração nos releases futuros.
- As APIs do modelo do CARMA (pacote com.ibm.carma.model ) devem ser de leitura do ponto de vista do programador, por exemplo, o
programador não deve tentar criar/incluir/mover itens no modelo do CARMA
manualmente. Os objetos na hierarquia devem ser atualizados por meio dos métodos refreshXXX() e createXXX() .
A criação do objeto modelo sem a utilização dos métodos da API não é suportada. Se
os objetos modelo forem criados sem o uso dos métodos da API, podem surgir
inconsistências.
- Todas as listas de recursos do repositório no modelo são associadas a uma cadeia de
filtros. A cadeia de filtros padrão é “*”.
- A maioria dos métodos do modelo do CARMA requer que a conexão com o host CARMA seja
ativada quando o método for executado. Se a conexão não estiver ativa,
uma exceção com.ibm.carma.transport.NotConnected é emitida.
- Os métodos do CARMA que precisam ativar a conexão do host CARMA possuem um parâmetro org.eclipse.core.runtime.IProgressMonitor
na assinatura do método. Para cancelar a execução do método, respeitamos
o método IProgressMonitor.isCancelled() que é verificado
durante a realização do método de longa execução.
- O modelo do CARMA serve como um cache de dados para a hierarquia do CARMA. Ele
é de responsabilidade do programador para manter o cache atualizado com o uso dos métodos refreshXXX()
no modelo.
- O cache do modelo do CARMA deve ser inicializado. Se uma parte da hierarquia do CARMA
que não estiver em cache for acessada, um com.ibm.carma.transport.NotSynchronizedException será
emitido. Para reparar a exceção, execute um método refreshXXX()
no objeto.
- Os objetos no cache do modelo do CARMA ficam disponíveis quando desconectados do
host CARMA. O host CARMA precisa ser conectado ativamente para
executar os métodos em relação aos objetos de cache que acessam o host CARMA.
- As alterações do modelo são comunicadas aos listeners por notificação. A
notificação é emitida para qualquer adaptador que atenda o objeto modelo. Os listeners
devem ser incluídos no modelo utilizando uma classe que estende o org.eclipse.emf.common.notify.Adapter.
Esse é um método de notificação EMF (Eclipse Modeling Framework). Consulte
a documentação do EMF para obter informações adicionais sobre a notificação do Adaptador.
- A UI do CARMA padrão (incluindo as APIs externalizadas com.ibm.carma.ui.*) utiliza a combinação de ações e tarefas para executar os métodos
no modelo do CARMA. A Ação (estendendo org.eclipse.ui.IAction ou org.eclipse.ui.IActionDelegate)
é responsável por reunir os dados necessários para executar o método do modelo.
Os dados reunidos são controlados em uma tarefa de UI do CARMA, que é planejada para
executar em segundo plano quando os recursos estiverem disponíveis. Se o método do modelo
gerar atualizações à hierarquia do CARMA, as notificações serão enviadas do
modelo aos listeners que atualizam a UI, conforme necessário.
|
Este centro de informações é desenvolvido pela tecnologia Eclipse. (http://www.eclipse.org)