Вы можете попытаться создать Java-бин, инициированный как синглтон.
Предположим, вы хотите перенести переменные "foo" и "bar" из верхних уровней в нижний уровень:
public class TransporterUpperToLowerLayer{
public static TransporterUpperToLowerLayer getInstance(){
if(instance == null)
instance = new TransporterUpperToLowerLayer();
return instance;
}
public void setFoo(Object foo){
this.foo = foo;
}
public void setBar(Object bar){
this.bar = bar;
}
public Object getFoo(){
return foo;
}
public Object getBar(){
return bar;
}
}
В верхнем слое вы вызываете сеттер, в нижнем слое вы можете использовать геттер.
Верхний слой:
TransporterUpperToLowerLayer.getInstance().setFoo(myFoo);
Нижний уровень:
TransporterUpperToLowerLayer.getInstance().getFoo();