/* package */ T getService(ServiceHandle<T> handle) { if (root instanceof Closeable) { Closeable closeable = (Closeable) root; if (closeable.isClosed()) { throw new IllegalStateException("This service has been unbound: " + root); } } synchronized (lock) { if (serviceDestroyed) throw new IllegalStateException("Service has been disposed"); if (serviceSet) return service; Injectee injectee = getLastInjectee(); Class<?> requiredClass = (injectee == null) ? null : ReflectionHelper.getRawClass(injectee.getRequiredType()); service = Utilities.createService(root, injectee, locator, handle, requiredClass); serviceSet = true; return service; } }
/* package */ T getService(ServiceHandle<T> handle) { if (root instanceof Closeable) { Closeable closeable = (Closeable) root; if (closeable.isClosed()) { throw new IllegalStateException("This service has been unbound: " + root); } } synchronized (lock) { if (serviceDestroyed) throw new IllegalStateException("Service has been disposed"); if (serviceSet) return service; Injectee injectee = getLastInjectee(); Class<?> requiredClass = (injectee == null) ? null : ReflectionHelper.getRawClass(injectee.getRequiredType()); service = Utilities.createService(root, injectee, locator, handle, requiredClass); serviceSet = true; return service; } }
/* package */ T getService(ServiceHandle<T> handle) { if (root instanceof Closeable) { Closeable closeable = (Closeable) root; if (closeable.isClosed()) { throw new IllegalStateException("This service has been unbound: " + root); } } synchronized (lock) { if (serviceDestroyed) throw new IllegalStateException("Service has been disposed"); if (serviceSet) return service; Injectee injectee = getLastInjectee(); Class<?> requiredClass = (injectee == null) ? null : ReflectionHelper.getRawClass(injectee.getRequiredType()); service = Utilities.createService(root, injectee, locator, handle, requiredClass); serviceSet = true; return service; } }
/* package */ T getService(ServiceHandle<T> handle) { if (root instanceof Closeable) { Closeable closeable = (Closeable) root; if (closeable.isClosed()) { throw new IllegalStateException("This service has been unbound: " + root); } } synchronized (lock) { if (serviceDestroyed) throw new IllegalStateException("Service has been disposed"); if (serviceSet) return service; Injectee injectee = getLastInjectee(); Class<?> requiredClass = (injectee == null) ? null : ReflectionHelper.getRawClass(injectee.getRequiredType()); service = Utilities.createService(root, injectee, locator, handle, requiredClass); serviceSet = true; return service; } }