#89 Finished the example code
This commit is contained in:
		@@ -3,6 +3,14 @@ package com.iluwatar;
 | 
			
		||||
public class App {
 | 
			
		||||
	
 | 
			
		||||
	public static void main(String[] args) {
 | 
			
		||||
		System.out.println("Hello World!");
 | 
			
		||||
		
 | 
			
		||||
		BusinessDelegate businessDelegate = new BusinessDelegate();
 | 
			
		||||
		businessDelegate.setServiceType(ServiceType.EJB);
 | 
			
		||||
 | 
			
		||||
		Client client = new Client(businessDelegate);
 | 
			
		||||
		client.doTask();
 | 
			
		||||
 | 
			
		||||
		businessDelegate.setServiceType(ServiceType.JMS);
 | 
			
		||||
		client.doTask();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -0,0 +1,17 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public class BusinessDelegate {
 | 
			
		||||
	
 | 
			
		||||
	private BusinessLookup lookupService = new BusinessLookup();
 | 
			
		||||
	private BusinessService businessService;
 | 
			
		||||
	private ServiceType serviceType;
 | 
			
		||||
 | 
			
		||||
	public void setServiceType(ServiceType serviceType) {
 | 
			
		||||
		this.serviceType = serviceType;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void doTask() {
 | 
			
		||||
		businessService = lookupService.getBusinessService(serviceType);
 | 
			
		||||
		businessService.doProcessing();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,12 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public class BusinessLookup {
 | 
			
		||||
 | 
			
		||||
	public BusinessService getBusinessService(ServiceType serviceType) {
 | 
			
		||||
		if (serviceType.equals(ServiceType.EJB)) {
 | 
			
		||||
			return new EjbService();
 | 
			
		||||
		} else {
 | 
			
		||||
			return new JmsService();
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,6 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public interface BusinessService {
 | 
			
		||||
 | 
			
		||||
	void doProcessing();
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								business-delegate/src/main/java/com/iluwatar/Client.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								business-delegate/src/main/java/com/iluwatar/Client.java
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public class Client {
 | 
			
		||||
 | 
			
		||||
	private BusinessDelegate businessDelegate;
 | 
			
		||||
 | 
			
		||||
	public Client(BusinessDelegate businessDelegate) {
 | 
			
		||||
		this.businessDelegate = businessDelegate;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	public void doTask() {
 | 
			
		||||
		businessDelegate.doTask();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public class EjbService implements BusinessService {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void doProcessing() {
 | 
			
		||||
		System.out.println("EjbService is now processing");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,9 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public class JmsService implements BusinessService {
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public void doProcessing() {
 | 
			
		||||
		System.out.println("JmsService is now processing");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -0,0 +1,6 @@
 | 
			
		||||
package com.iluwatar;
 | 
			
		||||
 | 
			
		||||
public enum ServiceType {
 | 
			
		||||
	
 | 
			
		||||
	EJB, JMS;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user