@Override public synchronized void start(Map<String, Object> dependencies) { if(!Validator.validateServices(myDescriptors, dependencies)){ throw new IllegalArgumentException( "Invalid Dependency set for factory."); } myService = create(dependencies); myStaisfiedFlag = true; }
/** * Validates the arguments before calling <code>handleChange</code>. * If the service is null and the dependencies are satisfied, a service is * created and <code>handleChange</code> is not called. * @param dependencyName name of the dependency changed * @param dependency new dependency * @param dependencies all available dependencies */ @Override public synchronized void dependencyChanged( String dependencyName, Object dependency, Map<String,Object> dependencies) { if(dependencyName == null){ throw new NullPointerException(); } if(!validate(dependencyName, dependency)){ return; } myStaisfiedFlag = Validator.validateServices(myDescriptors, dependencies); if(myService == null && isSatisfied()){ myService = create(dependencies); return; } handleChange(dependencyName, dependency, dependencies); } /**