Como implementar eventos no nível da linguagem semelhantes ao C # em Java

C # tem a noção deeventos no nível do idioma, usando as palavras-chave reservadasevent edelegate para definir métodos de editor e assinante. Tem sidoperguntou se Java tem suporte nativo para isso mas a resposta é obviamente não. temvárias alternativas, que incluem o uso de eventos com estilo AWT / Swing, criando meus própriosPadrão de observador ou usando outros meios de publicação / assinatura. É possível, mas como uma resposta disse, "requer apenas um pouco mais de trabalho braçal".

Em geral, qualquer implementação segue a mesma abordagem digitada e pode ser automatizada. Java possui mecanismos diferentes para meta-programação, por exemplo Transformações AOP ou AST. Como alguém implementaria os eventos C # em Java para permitir o mínimo de "trabalho braçal" possível?

TalvezProjeto Lombok?

questionAnswers(1)

yourAnswerToTheQuestion