Позвольте мне начать с того, что я хочу сделать, а затем поднять некоторые вопросы, которые у меня есть.
Я хочу разработать общую программу на Java, которая представляет собой расширенный набор программ (назовем их вариантами программ).В частности, общая программа имеет методы, которые используются только одним или несколькими вариантами программы (но не всеми).Учитывая конкретную конфигурацию, я хочу удалить ненужные методы и просто оставить наименьший набор методов для одного варианта программы.
Например, у меня есть общая программа, как показано ниже:
public class GeneralProgram {
// this method is common for all variants
public void method1() {};
// this method is specific to variant 1
public void method2() {};
// this method is specific to variant 2
public void method3() {};
}
Затем, после удаления программы на основе конфигурации для варианта 1, получается
public class GeneralProgram {
// this method is common for all variants
public void method1() {};
// this method is specific to variant 1
public void method2() {};
}
Не имеет значения, совпадает ли имя полученного класса с исходным или нет.Я просто хочу сократить содержание класса.
Итак, вот мои вопросы:
У вас есть идеи, как это реализовать, кроме низкоуровневой обработки текста?
Я знаю, что могу использовать аспектJ для отключения / включения определенных методов во время выполнения, но я действительно хочу выполнить эту задачу перед развертыванием программы.Есть ли какая-либо техника в Java для этой цели?