@SuppressWarnings("unchecked") public static ImmutableClassToInstanceMap<Annotation> annotationMap(Symbol symbol) { ImmutableClassToInstanceMap.Builder<Annotation> builder = ImmutableClassToInstanceMap.builder(); for (Compound compound : symbol.getAnnotationMirrors()) { Name qualifiedAnnotationType = ((TypeElement) compound.getAnnotationType().asElement()).getQualifiedName(); try { Class<? extends Annotation> annotationClazz = Class.forName(qualifiedAnnotationType.toString()).asSubclass(Annotation.class); builder.put( (Class) annotationClazz, AnnotationProxyMaker.generateAnnotation(compound, annotationClazz)); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Unrecognized annotation type", e); } } return builder.build(); } }
@Override @SuppressWarnings("unchecked") public Map<Class, Impl> create(Object... elements) { ImmutableClassToInstanceMap.Builder<Impl> builder = ImmutableClassToInstanceMap.builder(); for (Object object : elements) { Entry<Class, Impl> entry = (Entry<Class, Impl>) object; builder.put(entry.getKey(), entry.getValue()); } return (Map) builder.build(); } })
@SuppressWarnings("unchecked") public static ImmutableClassToInstanceMap<Annotation> annotationMap(Symbol symbol) { ImmutableClassToInstanceMap.Builder<Annotation> builder = ImmutableClassToInstanceMap.builder(); for (Compound compound : symbol.getAnnotationMirrors()) { Name qualifiedAnnotationType = ((TypeElement) compound.getAnnotationType().asElement()).getQualifiedName(); try { Class<? extends Annotation> annotationClazz = Class.forName(qualifiedAnnotationType.toString()).asSubclass(Annotation.class); builder.put( (Class) annotationClazz, AnnotationProxyMaker.generateAnnotation(compound, annotationClazz)); } catch (ClassNotFoundException e) { throw new IllegalArgumentException("Unrecognized annotation type", e); } } return builder.build(); } }
org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService.class); if (delegateTreeChangeService != null) { extBuilder.put(DOMDataTreeChangeService.class, new DOMDataTreeChangeService() { @Override public <L extends DOMDataTreeChangeListener> ListenerRegistration<L> registerDataTreeChangeListener( org.opendaylight.mdsal.dom.api.DOMDataTreeCommitCohortRegistry.class); if (delegateCohortRegistry != null) { extBuilder.put(DOMDataTreeCommitCohortRegistry.class, delegateCohortRegistry::registerCommitCohort);
public void start() { checkState(controllerRoot == null, "Binding Aware Broker was already started."); LOG.info("Starting Binding Aware Broker: {}", identifier); controllerRoot = new RootSalInstance(getRpcProviderRegistry(), getNotificationBroker(), getDataBroker()); final ImmutableClassToInstanceMap.Builder<BindingAwareService> consBuilder = ImmutableClassToInstanceMap .builder(); consBuilder.put(NotificationService.class, getRoot()); consBuilder.put(DataBrokerService.class, getRoot()); consBuilder.put(RpcConsumerRegistry.class, getRoot()); if (dataBroker != null) { consBuilder.put(DataBroker.class, dataBroker); } consBuilder.put(MountPointService.class, mountService); consBuilder.put(MountService.class, legacyMount).build(); supportedConsumerServices = consBuilder.build(); final ImmutableClassToInstanceMap.Builder<BindingAwareService> provBuilder = ImmutableClassToInstanceMap .builder(); provBuilder.putAll(supportedConsumerServices).put(NotificationProviderService.class, getRoot()) .put(DataProviderService.class, getRoot()).put(RpcProviderRegistry.class, getRoot()) .put(MountProviderService.class, legacyMount); if (notificationPublishService != null) { provBuilder.put(NotificationPublishService.class, notificationPublishService); } supportedConsumerServices = consBuilder.build(); supportedProviderServices = provBuilder.build(); }
public DOMDataBrokerAdapter(final DOMDataBroker delegate) { this.delegate = requireNonNull(delegate); Map<Class<? extends DOMDataBrokerExtension>, DOMDataBrokerExtension> delegateExtensions = delegate.getSupportedExtensions(); Builder<org.opendaylight.mdsal.dom.api.DOMDataBrokerExtension> extBuilder = ImmutableClassToInstanceMap.builder(); final DOMDataTreeChangeService delegateTreeChangeService = (DOMDataTreeChangeService) delegateExtensions.get( DOMDataTreeChangeService.class); if (delegateTreeChangeService != null) { extBuilder.put(org.opendaylight.mdsal.dom.api.DOMDataTreeChangeService.class, new DOMDataTreeChangeServiceAdapter(delegateTreeChangeService)); } final DOMDataTreeCommitCohortRegistry delegateCohortRegistry = (DOMDataTreeCommitCohortRegistry) delegateExtensions.get(DOMDataTreeCommitCohortRegistry.class); if (delegateCohortRegistry != null) { extBuilder.put(DOMDataTreeCommitCohortRegistry.class, delegateCohortRegistry::registerCommitCohort); } extensions = extBuilder.build(); }
public HydrogenMountInstanceAdapter(final MountPoint key) { this.identifier = key.getIdentifier(); final ImmutableClassToInstanceMap.Builder<BindingAwareService> builder = ImmutableClassToInstanceMap.builder(); final Optional<DataBroker> dataBroker = key.getService(DataBroker.class); if(dataBroker.isPresent()) { builder.put(DataBrokerService.class, new HydrogenDataBrokerAdapter(dataBroker.get())); } final Optional<org.opendaylight.controller.md.sal.binding.api.NotificationService> notificationService = key.getService(org.opendaylight.controller.md.sal.binding.api.NotificationService.class); if(notificationService.isPresent()) { builder.put(NotificationService.class, new HeliumNotificationServiceAdapter(notificationService.get())); } final Optional<RpcConsumerRegistry> rpcRegistry = key.getService(RpcConsumerRegistry.class); if(rpcRegistry.isPresent()) { builder.put(RpcConsumerRegistry.class, rpcRegistry.get()); } services = builder.build(); }
public <U> Builder add(U instance, Class<U> type) { classMapBuilder.put(type, instance); return this; }
static <T> void put(ImmutableClassToInstanceMap.Builder<Object> b, Class<T> c, DependencyProvider dp) { b.put(c, dp.get(c)); }
@Override public GenericModel<Object> build(DependencyProvider dependencyProvider) { return new GenericModel<>(ImmutableClassToInstanceMap.builder() .put(ProviderForB.class, new ProviderForB()) .build()); } }
public void testPrimitiveAndWrapper() { ImmutableClassToInstanceMap<Number> ictim = new ImmutableClassToInstanceMap.Builder<Number>() .put(Integer.class, 0) .put(int.class, 1) .build(); assertEquals(2, ictim.size()); assertEquals(0, (int) ictim.getInstance(Integer.class)); assertEquals(1, (int) ictim.getInstance(int.class)); }
@Override @SuppressWarnings("unchecked") public Map<Class, Impl> create(Object... elements) { ImmutableClassToInstanceMap.Builder<Impl> builder = ImmutableClassToInstanceMap.builder(); for (Object object : elements) { Entry<Class, Impl> entry = (Entry<Class, Impl>) object; builder.put(entry.getKey(), entry.getValue()); } return (Map) builder.build(); } })
static <T> void put(ImmutableClassToInstanceMap.Builder<Object> b, Class<T> c, DependencyProvider dp) { b.put(c, dp.get(c)); }
@Override public GenericModel<Object> build(DependencyProvider dependencyProvider) { dependencyProvider.get(ProviderForB.class); return new GenericModel<>(ImmutableClassToInstanceMap.builder() .put(ProviderForA.class, new ProviderForA()) .build()); } }
public void testPrimitiveAndWrapper() { ImmutableClassToInstanceMap<Number> ictim = new ImmutableClassToInstanceMap.Builder<Number>() .put(Integer.class, 0) .put(int.class, 1) .build(); assertEquals(2, ictim.size()); assertEquals(0, (int) ictim.getInstance(Integer.class)); assertEquals(1, (int) ictim.getInstance(int.class)); }