Я видел некоторые хорошие взломы компилятора Java, где можно заменить утверждения операторами исключения броска, можно было автоматически сгенерировать свойства для полей и так далее...
Я просто задавался вопросом...
Действительно ли возможно взломать компилятор Java так, чтобы это поддерживало Перегрузку Оператора?
РЕДАКТИРОВАНИЕ:
Не то, чтобы я пропускаю оператор, перегружающийся в Java или чем-то. Я просто хочу знать, возможно ли реализовать его с помощью взломов, упомянутых в ссылках, которые я дал выше. Поэтому не предлагайте, чтобы я переключился на некоторый другой язык как Scala (который я уже изучаю так или иначе! :D).
РЕДАКТИРОВАНИЕ:
Просто скажите мне, возможно ли сделать это с помощью JSR 269 или чего-то как этот.:|
Спасибо.
Это также хороший раз и его только $10.
-121--3894649-Можно создать триггер , запускающий команду INSERT, но лучший способ подойти к этому - это просто запланированное задание, которое выполняется периодически (скажем, раз в неделю) и удаляет записи из таблицы.
-121--1394235-В ответ на отредактированный вопрос единственный способ реализации перегрузки оператора true в Java - добавить его в язык. Это означает, что необходимо либо изменить компилятор для компиляции кода, либо написать препроцессор, преобразующий код в стандартный Java. Для первых можно загрузить почти полную реализацию FOSS java из GNU или проекта OpenJDK . Для последнего можно либо написать собственный синтаксический анализатор, используя такие вещи, как JavaCC и т.д. (примеры находятся на этой странице ), либо можно использовать JFront в качестве основы для добавления собственного синтаксиса.
Другой подход - использование библиотек Groovy, т.к. в Groovy уже есть перегрузка оператора.
Текущая реализация использует Groovy за перегрузку. Такой подход один недостаток: прикольные библиотеки должны быть доставлены вместе с проектом.
JFront - препроцессор для языка Java, позволяющий реализовать перегрузку операторов для собственных классов. К сожалению, эта возможность, кажется, не добавлена в стандартные классы (BigInteger и др. были бы отличным кандидатом для этого).
Если вам нужна перегрузка оператора, вы можете рассмотреть возможность перехода на Scala. Код Scala совместим с вашими классами Java и поддерживает перегрузку операторов.
Это не позволяет перегрузить оператора, но учитывая ссылки в вашем вопросе, вас может заинтересовать http://projectlombok.org/features/index.html
Еще хуже то, что ваша компания использует новое/незрелое программное обеспечение, которое вы сами разработали . Поначалу, когда я был единственным разработчиком, моя неповторимая структура HTML GUI работала просто прекрасно для построения нашего РИА. Однако, как только мы получили дополнительных разработчиков, я увидел, насколько ниже производительность разработчиков, если не использовать проверенную платформу с сильным сообществом. В связи с этим и тем, что я в конечном итоге понял, насколько неподходящий HTML 4 для RIA, мы перевели его в Adobe Flex 3. Я очень доволен ходом.
-121--1002536-Я полностью согласен с Биллом, но могу представить, что бизнес-правила хранятся (не обрабатываются) в базе данных. Я думаю о drools здесь. Ядро будет находиться в приложении, но правила могут находиться в базе данных с интерфейсным интерфейсом управления.
Такой зверь был бы интересен для сценариев, где могут меняться не только параметры, но и формулы.
-121--3367067-Можно использовать инжекцию байтового кода для замены типа float собственным типом. Это можно сделать после компиляции без изменения компилятора.