I want to decorate (Decorator design template) a common base class, but the method I need is protected. Example:
public class AbstractActor {
public void act(){...}
protected void doAct(){...}
}
Subclasses are designed to override doAct (), I need to add some functions there. I can override doAct, but my decorator class cannot access the protected doAct () method on the decorated instance. Example:
public class ActorDecorator extends AbstractActor {
AbstractActor decoratedInstance;
public ActorDecorator(AbstractActor decoratedInstance){
this.decoratedInstance = decoratedInstance;
}
protected void doAct(){
decoratedInstance.doAct();
}
}
Is there any solution for this?
source
share