Как предоставить ссылку на объект для метода библиотеки после расширения класса? - PullRequest
0 голосов
/ 02 октября 2018

Я настраиваю объект Config с firstParameter и secondParameter.В библиотеке, которую я использую, есть метод, который использует firstParameter из объекта Config и выполняет некоторые действия.Однако, очень специфично для моего проекта, я хочу использовать вместо него secondParameter.Два параметра являются псевдонимами друг друга, и мой проект требует, чтобы я использовал secondParameter.

. Для этого мой подход заключался в расширении класса из библиотеки и переопределении метода.Тем не менее, класс создается во время выполнения и не имеет ссылки на объект Config.Он имеет доступ только к firstParameter, который явно передается ему.

Вопрос: Каков наилучший способ расширить этот класс и предоставить ему ссылку на объект Config?

class A {
   private B b;
   private void methodA(Config config, Object somethingElse){
     b = Class.forName(config.getName()).newInstance();
   }
}

class B {
  public boolean methodB(Object firstParameter){
    //do something
  }
}

class C extends B {

   @Override
   public boolean methodB(Object firstParameter){
      return super.methodB(Config.getSecondParameter()); // Does not have a reference to Config - this is what I want to achieve.
   }
}
...