Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public abstract class AbstractExecutor {
- private final Service1 service1;
- private final Service2 service2;
- private final Service3 service3;
- AbstractExecutor(Service1 service1, Service2 service2, Service3 service3) {
- this.service1 = service1;
- this.service2 = service2;
- this.service3 = service3;
- }
- public void execute() {
- service1.do();
- specificMethod();
- service2.do();
- service3.do();
- }
- abstract String specificMethod();
- }
- public class Executor1 extends AbstractExecutor {
- @Autowired
- Executor1(Service1 service1, Service2 service2, Service3 service3) {
- super(service1, service2, service3);
- }
- String specificMethod() {
- return "do1";
- }
- }
- public class Executor2 extends AbstractExecutor {
- @Autowired
- Executor2(Service1 service1, Service2 service2, Service3 service3) {
- super(service1, service2, service3);
- }
- String specificMethod() {
- return "do2";
- }
- }
- public class Executor3 extends AbstractExecutor {
- @Autowired
- Executor3(Service1 service1, Service2 service2, Service3 service3) {
- super(service1, service2, service3);
- }
- String specificMethod() {
- return "do3";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement