У меня есть два объекта Node1 и Node2, и оба используют Bean1 (JavaBean).
Я пытаюсь включить свойства Bean1 в Node1 и Node2, не дублируя вручную свойства Bean1.Также я пытаюсь повторно использовать BeanInfo Bean1 в обоих объектах.
Я думал об использовании cglib, но возможно ли это вообще?
Подробнее : Узлы моделируют входы задания, т. Е. Узел1 является входом задания1 и т. Д.Типы ввода могут иметь общий тип внутри, который является Bean1.Скажем, Bean1 имеет свойство bean1Prop, а Node1 имеет свойство node1Prop, а Node2 имеет свойство node2Prop.
Мне понадобится что-то вроде Node1 {node1Prop, bean1Prop} и Node2 {node2Prop, bean1Prop}.Обратите внимание, что каждый узел будет иметь отдельный экземпляр Bean1 во время init.Теперь я могу получить свойства вручную путем делегирования, что я не хочу делать, чтобы избежать дублирования кода.Я просто хочу сообщить каждому классу узлов, что я хочу использовать свойства bean-компонента Bean1.
Кажется, что cglib может создавать такие объекты во время выполнения.Но я предполагаю, что тип времени выполнения будет просто Object?
Кроме того, Bean1 имеет класс beaninfo, который я хочу использовать в Node1BeanInfo (by getAdditionalBeanInfo ()) и аналогично в Node2BeanInfo.
IЯ не уверен, что Node1BeanInfo и Node2BeanInfo будут распознаваться (JavaBeanTool) как классы beaninfo для объектов, сгенерированных во время выполнения cglib.
Я должен добавить, что я никогда раньше не использовал cglib.
Моя основная цель - избежать дублирования кода, что будет важно в этом случае, когда общий тип используется для многих входов работы (очень распространено).
Я ценю ваши мысли по этому поводу.