@Override public void configure(Binder binder) { bindingSelection.checkNotInitialized(); Key<T> key = bindingSelection.getDirectKey();
@Override public boolean equals(Object obj) { return obj != null && this.getClass() == obj.getClass() && bindingSelection.equals( ((RealOptionalBinderProviderWithDependencies<?, ?>) obj).bindingSelection); }
@Override void doInitialize() { if (bindingSelection.getBinding() == null) { value = Optional.absent(); } else { value = Optional.of(bindingSelection.getBinding().getProvider()); } }
@Override public void configure(Binder binder) { bindingSelection.checkNotInitialized(); Key<T> key = bindingSelection.getDirectKey();
@Override public void configure(Binder binder) { bindingSelection.checkNotInitialized(); Key<T> key = bindingSelection.getDirectKey();
/** Implementation of {@link OptionalBinderBinding#containsElement}. */ boolean containsElement(Element element) { // All of our bindings are ProviderInstanceBindings whose providers extend // RealOptionalBinderProviderWithDependencies and have 'this' as its binding selection. if (element instanceof ProviderInstanceBinding) { javax.inject.Provider<?> providerInstance = ((ProviderInstanceBinding<?>) element).getUserSuppliedProvider(); if (providerInstance instanceof RealOptionalBinderProviderWithDependencies) { return ((RealOptionalBinderProviderWithDependencies<?, ?>) providerInstance) .bindingSelection.equals(this); } } if (element instanceof Binding) { Key<?> elementKey = ((Binding) element).getKey(); // if it isn't one of the things we bound directly it might be an actual or default key return elementKey.equals(getKeyForActualBinding()) || elementKey.equals(getKeyForDefaultBinding()); } return false; // cannot match; }
/** Implementation of {@link OptionalBinderBinding#containsElement}. */ boolean containsElement(Element element) { // All of our bindings are ProviderInstanceBindings whose providers extend // RealOptionalBinderProviderWithDependencies and have 'this' as its binding selection. if (element instanceof ProviderInstanceBinding) { javax.inject.Provider<?> providerInstance = ((ProviderInstanceBinding<?>) element).getUserSuppliedProvider(); if (providerInstance instanceof RealOptionalBinderProviderWithDependencies) { return ((RealOptionalBinderProviderWithDependencies<?, ?>) providerInstance) .bindingSelection.equals(this); } } if (element instanceof Binding) { Key<?> elementKey = ((Binding) element).getKey(); // if it isn't one of the things we bound directly it might be an actual or default key return elementKey.equals(getKeyForActualBinding()) || elementKey.equals(getKeyForDefaultBinding()); } return false; // cannot match; }
@Override public Binding<?> getActualBinding() { return bindingSelection.getActualBinding(); }
@Override public Binding<?> getDefaultBinding() { return bindingSelection.getDefaultBinding(); }
@Override public Binding<?> getDefaultBinding() { return bindingSelection.getDefaultBinding(); }
@Override public Binding<?> getActualBinding() { return bindingSelection.getActualBinding(); }
private RealOptionalBinder(Binder binder, Key<T> typeKey) { this.bindingSelection = new BindingSelection<>(typeKey); this.binder = binder; }
@Override public boolean containsElement(Element element) { return bindingSelection.containsElement(element); }
@Override public Set<Dependency<?>> getDependencies() { return bindingSelection.dependencies(); }
@Override public Binding<?> getDefaultBinding() { return bindingSelection.getDefaultBinding(); }
@Override public Set<Dependency<?>> getDependencies() { return bindingSelection.dependencies(); }
private RealOptionalBinder(Binder binder, Key<T> typeKey) { this.bindingSelection = new BindingSelection<>(typeKey); this.binder = binder; }
@Override public boolean containsElement(Element element) { return bindingSelection.containsElement(element); }
@Override public Binding<?> getActualBinding() { return bindingSelection.getActualBinding(); }
@Override public Binding<?> getActualBinding() { return bindingSelection.getActualBinding(); }