@Override public Indexer.IndexedBinding visit(LinkedKeyBinding<? extends Object> binding) { return new Indexer.IndexedBinding( binding, BindingType.LINKED_KEY, scope(binding), binding.getLinkedKey()); }
@Override public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
@Override public Collection<Key<?>> visit(LinkedKeyBinding<?> binding) { return ImmutableSet.<Key<?>>of(binding.getLinkedKey()); }
@Override public Void visit(LinkedKeyBinding<? extends T> binding) { builder.to(binding.getLinkedKey()).in(Scopes.SINGLETON); return null; }
@Override public Class<?> visit( final LinkedKeyBinding<?> binding ) { // this assumes only one level of indirection: api-->impl return binding.getLinkedKey().getTypeLiteral().getRawType(); }
@Override public Void visit(LinkedKeyBinding<? extends T> linkedKeyBinding) { return addBindingKey(linkedKeyBinding, linkedKeyBinding.getLinkedKey()); }
@Override public Void visit(LinkedKeyBinding<? extends T> linkedKeyBinding) { return addBindingKey(linkedKeyBinding, linkedKeyBinding.getLinkedKey()); }
@Override public Indexer.IndexedBinding visit(LinkedKeyBinding<? extends Object> binding) { return new Indexer.IndexedBinding( binding, BindingType.LINKED_KEY, scope(binding), binding.getLinkedKey()); }
@Override public Indexer.IndexedBinding visit(LinkedKeyBinding<? extends Object> binding) { return new Indexer.IndexedBinding( binding, BindingType.LINKED_KEY, scope(binding), binding.getLinkedKey()); }
@Override public IndexedBinding visit(LinkedKeyBinding<? extends Object> binding) { return new IndexedBinding(binding, BindingType.LINKED_KEY, scope(binding), binding.getLinkedKey()); }
public Void visit(LinkedKeyBinding<? extends T> linkedKeyBinding) { Context context = Context.forElement(linkedKeyBinding); bindingsCollection.addBinding(targetKey, bindingFactory.getBindClassBinding(linkedKeyBinding.getLinkedKey(), targetKey, context)); return null; }
@Override public Boolean visit( final LinkedKeyBinding<?> binding ) { final Key<?> linkedKey = binding.getLinkedKey(); if ( linkedKey.getAnnotationType() == null ) { return analyzeImplementation( linkedKey.getTypeLiteral(), true ); } return Boolean.TRUE; // indirect binding, don't scan }
/** * Visitor for {@link LinkedKeyBinding}. This is the standard {@link Binding} you get from * binding an interface class to an implementation class. We draw a {@link BindingEdge} from the * interface node to the node of the implementing class. */ @Override public Collection<Edge> visit(LinkedKeyBinding<?> binding) { return ImmutableList.<Edge>of( new BindingEdge( NodeId.newTypeId(binding.getKey()), NodeId.newTypeId(binding.getLinkedKey()), BindingEdge.Type.NORMAL)); }
@Override public Boolean visit( final LinkedKeyBinding<?> binding ) { final Key<?> linkedKey = binding.getLinkedKey(); if ( linkedKey.getAnnotationType() == null ) { return verifyImplementation( linkedKey.getTypeLiteral() ); } return Boolean.TRUE; // indirect binding, don't scan }
public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<T>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<T>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<T>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
@Override public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
@Override public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }
@Override public Boolean visit(LinkedKeyBinding<? extends T> binding) { prepareBinding(); Key<? extends T> linkedKey = binding.getLinkedKey(); if (key.equals(linkedKey)) { errors.recursiveBinding(); } FactoryProxy<T> factory = new FactoryProxy<T>(injector, key, linkedKey, source); bindingData.addCreationListener(factory); InternalFactory<? extends T> scopedFactory = Scoping.scope(key, injector, factory, source, scoping); putBinding( new LinkedBindingImpl<T>(injector, key, source, scopedFactory, scoping, linkedKey)); return true; }