Hi,
ich habe ein Object (Customer) mit den Attributen: name, email, city und status.
Mehrere dieser Objekte befinden sich in einem Vector<Customer>.
Jetzt habe ich eine Suchfunktion bauen, welche mir nach Eingabe eines ODER mehrer Parameter eine Ergebnisliste auswirft.
Aktuell steh ich vor dem Problem, dass ich einen If-Verteiler einbaue, den ich exponentiell erweitern muss, wenn man ein vierter Parameter hinkommt:
	
	
	
	
	
		
	
Ich müsste jetzt ja für jede Kombination aus den Parametern so einen If-Kasten bauen, jetzt nur 8 bzw. 7, mit einem vierten Parameter schon 16 usw. wie kann ich das eleganter lösen?
			
			ich habe ein Object (Customer) mit den Attributen: name, email, city und status.
Mehrere dieser Objekte befinden sich in einem Vector<Customer>.
Jetzt habe ich eine Suchfunktion bauen, welche mir nach Eingabe eines ODER mehrer Parameter eine Ergebnisliste auswirft.
Aktuell steh ich vor dem Problem, dass ich einen If-Verteiler einbaue, den ich exponentiell erweitern muss, wenn man ein vierter Parameter hinkommt:
		Code:
	
	public Vector<Customer> getCustomerBySearch(String emailName, String city, CustomerStatus status) {
   Vector<Customer> res = new Vector<Customer>();
   Vector<Customer> resultNameEmail = getCustomerBySearchNameEmail(emailName);
   Vector<Customer> resultCity = getCustomerBySearchCity(city);
   Vector<Customer> resultStatus = getCustomerBySearchStatus(status);
   if (!emailName.equals("") && !city.equals("") && status != null) {
      resultNameEmail.retainAll(resultCity);
      resultNameEmail.retainAll(resultStatus);
      res = resultNameEmail;
   } 
   return res;
}Ich müsste jetzt ja für jede Kombination aus den Parametern so einen If-Kasten bauen, jetzt nur 8 bzw. 7, mit einem vierten Parameter schon 16 usw. wie kann ich das eleganter lösen?
 
				 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		