Elementos Básicos de um Proxy da API de Java™ Descritos através de um Exemplo Simples - Moreira, Getúlio; de Brito, Maria Alice Silveira (Cadernos do IME - Série Informática, 2013)
Abstract. In this paper we identify the difficulties associated with the correct understanding of the dynamic proxy Java API. The main obstacles are: the diversity of elements working together for the proxy to achieve its goal, and the dependencies that this functionality has on reflection mechanisms, giving the opportunity to hide code parts from the application on a meta level. Weh ave created a very simple example, applying the proxy in its more primitive role as a message interceptor. This example is described with the purpose of make it clear to the programmer how to identify the four main elements that are the agents of each action regarding creation and invocation: the proxy class, the proxy instance, the invocation handler and the target object.Beyond that, we present the regions where code can and/or must be introduced identifying the base and meta levels of programming. Resumo. Neste trabalho, identificamos as causas das dificuldades de entendimento do uso de dynamic proxy da API de Java, sendo as principais a diversidade de elementos que entram em cena, durante o funcionamento do proxy, e, os artifícios dessef uncionamento, que dependem dos conceitos de reflexão, o qual dá oportunidades à programação de incluir código, em partes (meta-nível), que ficam escondidas do código da aplicação. Assim, criamos um exemplo bem simples, empregando o proxy no seu papel mais primitivo possível, quando implementa um interceptor de mensagens. Esse exemplo foi acompanhado de descrições, com o propósito de permitir a um programador identificar com clareza os quatro elementos principais, que são os agentes de cada ação, no curso da criação e da invocação: a classe proxy, a instância de proxy, o invocation handler e o objeto alvo, além das regiões em que deve/pode introduzir código, identificando os níveis de programação base e meta.