Мне было интересно, каковы общие шаги, необходимые для создания какого-либо расширения Java или плагина. Более конкретно, я собираюсь создать что-то вроде структуры C ++ в java, которая позволит мне объявлять методы из определенного класса, чтобы я мог указать порядок, в котором они должны выполняться JVM. На данный момент это всего лишь кусок неба, и меня интересует, как работает AspectJ или другие java-расширения, позволяющие вам объявлять синтаксис, который не является родным для java. Я предполагаю, что для этого потребуется какой-то плагин компилятора.
В качестве примера я представляю что-то вроде следующего
public struct weakProfile {
streamDataViaGprs();
sendSimpleMap();
}
public struct strongProfile {
streamDataVia3G();
sendComplexMap();
sendAudio();
}
В приведенном выше примере, если у меня есть веб-служба, а клиент имеет слабый профиль, что означает, что устройство, которое они используют для вызова службы, имеет низкую обработку и плохую пропускную способность, тогда я хотел бы только доставлять streamDataViaGprs()
и sendSimpleMap()
функциональность. Однако, если клиентское устройство обладает мощными возможностями обработки и отличной пропускной способностью соединения, то я бы хотел streamDataVia3G()
, sendComplexMap()
и sendAudio()
. Это моя конечная цель, однако я не уверен, что будет связано с разработкой структуры, как описано выше, не говоря уже о том, возможно ли это.