Реализация свойств: Среды с возможностью подмены исходного кода
Подскажите - есть ли какие-нибудь среды для разработки Java-приложений, предоставляющие возможность написания аддонов, подменяющих отображение исходных кодов и преобразующие введенные данные в обратном направлении?
Очень хочется прикрутить свойства, аналогичные C#, вроде:
{
get { return self; }
set
{
self = value;
Out.PrintLine(value);
}
}
Которые бы разворачивались в
public int getCount()
{
return countValue;
}
public void setCount(int value)
{
countValue = value;
Out.PrintLine(value);
}
Возможно ли это? Или это нужно реализовывать на уровне компилятора и нужно капать на мозг ребятам из Оракл?
;)
хотя, наверное, можно и просто generic'и использовать
Не, мне совершенно точно не туда! Жуткая вещь. Во-первых, это препроцессор, следовательно в результирующем коде будут все теже мегатонны инфраструктурного кода. Во-вторых, судя по описанию на сайте, там поддерживаются только простые свойства, без произвольной логики гетера и сетера. В-третьих венгерская нотация, за использование которой в строго типизированных языках нужно публично сжигать. В общем... :facepalm:
---
А как ты предлагаешь заменить свойства генериками? о_О
Методы T Get<T>(Enum name), void Set<T>(Enum name, T value) и хэш Enum(name, methodSet, methodGet) => object, при извлечении из которого объекты кастятся в T?
Мысль интересная, но боюсь, что все это будет работать довольно медленно из-за отражения (если вообще возможно определить - откуда был вызван метод, а в противном случае теряется разграничение по доступности).
NetBeans, кстати, сама их умеет набирать. (меню Refactor ->Encapsulate Fields...)
Addons для неё тоже вроде как можно писать (http://platform.netbeans.org/tutorials/nbm-google.html)