@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(); } })
public static BlockTemplate create( Iterable<UTypeVar> typeVariables, Map<String, ? extends UType> expressionArgumentTypes, UStatement... templateStatements) { return create( ImmutableClassToInstanceMap.<Annotation>builder().build(), typeVariables, expressionArgumentTypes, ImmutableList.copyOf(templateStatements)); }
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(); }
@Override public ImmutableClassToInstanceMap<Annotation> annotations() { return ImmutableClassToInstanceMap.<Annotation>builder().build(); }
@Override public GenericModel<Object> build(DependencyProvider dependencyProvider) { dependencyProvider.get(ProviderForB.class); return new GenericModel<>(ImmutableClassToInstanceMap.builder() .put(ProviderForA.class, new ProviderForA()) .build()); } }
GenericModel() { this(ImmutableClassToInstanceMap.builder().build()); }
@Override public StopModel build(DependencyProvider dependencyProvider) { final ImmutableClassToInstanceMap.Builder<Object> b = ImmutableClassToInstanceMap .builder(); for (final Class<?> c : dependencies()) { put(b, c, dependencyProvider); } return new StopModel(stopCondition(), b.build()); }
public static ExpressionTemplate create( Map<String, ? extends UType> expressionArgumentTypes, UExpression expression, UType returnType) { return create( ImmutableClassToInstanceMap.<Annotation>builder().build(), ImmutableList.<UTypeVar>of(), expressionArgumentTypes, expression, returnType); }
public static RefasterRule<?, ?> create( String qualifiedTemplateClass, Collection<? extends Template<?>> beforeTemplates, Collection<? extends Template<?>> afterTemplates) { return create( qualifiedTemplateClass, ImmutableList.<UTypeVar>of(), beforeTemplates, afterTemplates, ImmutableClassToInstanceMap.<Annotation>builder().build()); }
public DependencyProvider build() { return new FakeDependencyProvider( modelMapBuilder.build(), classMapBuilder.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(); } })
@Override public ImmutableClassToInstanceMap<Annotation> annotations() { return ImmutableClassToInstanceMap.<Annotation>builder().build(); } }
@Override public GenericModel<Object> build(DependencyProvider dependencyProvider) { return new GenericModel<>(ImmutableClassToInstanceMap.builder() .put(ProviderForB.class, new ProviderForB()) .build()); } }
@Override public StopModel build(DependencyProvider dependencyProvider) { final ImmutableClassToInstanceMap.Builder<Object> b = ImmutableClassToInstanceMap .builder(); for (final Class<?> c : dependencies()) { put(b, c, dependencyProvider); } return new StopModel(stopCondition(), b.build()); }
/** * Returns an immutable map containing the same entries as {@code map}. If {@code map} somehow * contains entries with duplicate keys (for example, if it is a {@code SortedMap} whose * comparator is not <i>consistent with equals</i>), the results of this method are undefined. * * <p><b>Note:</b> Despite what the method name suggests, if {@code map} is an {@code * ImmutableClassToInstanceMap}, no copy will actually be performed. * * @throws NullPointerException if any key or value in {@code map} is null * @throws ClassCastException if any value is not an instance of the type specified by its key */ public static <B, S extends B> ImmutableClassToInstanceMap<B> copyOf( Map<? extends Class<? extends S>, ? extends S> map) { if (map instanceof ImmutableClassToInstanceMap) { @SuppressWarnings("unchecked") // covariant casts safe (unmodifiable) // Eclipse won't compile if we cast to the parameterized type. ImmutableClassToInstanceMap<B> cast = (ImmutableClassToInstanceMap) map; return cast; } return new Builder<B>().putAll(map).build(); }
/** * Returns an immutable map containing the same entries as {@code map}. If {@code map} somehow * contains entries with duplicate keys (for example, if it is a {@code SortedMap} whose * comparator is not <i>consistent with equals</i>), the results of this method are undefined. * * <p><b>Note:</b> Despite what the method name suggests, if {@code map} is an {@code * ImmutableClassToInstanceMap}, no copy will actually be performed. * * @throws NullPointerException if any key or value in {@code map} is null * @throws ClassCastException if any value is not an instance of the type specified by its key */ public static <B, S extends B> ImmutableClassToInstanceMap<B> copyOf( Map<? extends Class<? extends S>, ? extends S> map) { if (map instanceof ImmutableClassToInstanceMap) { @SuppressWarnings("unchecked") // covariant casts safe (unmodifiable) // Eclipse won't compile if we cast to the parameterized type. ImmutableClassToInstanceMap<B> cast = (ImmutableClassToInstanceMap) map; return cast; } return new Builder<B>().putAll(map).build(); }
/** * Returns an immutable map containing the same entries as {@code map}. If {@code map} somehow * contains entries with duplicate keys (for example, if it is a {@code SortedMap} whose * comparator is not <i>consistent with equals</i>), the results of this method are undefined. * * <p><b>Note:</b> Despite what the method name suggests, if {@code map} is an {@code * ImmutableClassToInstanceMap}, no copy will actually be performed. * * @throws NullPointerException if any key or value in {@code map} is null * @throws ClassCastException if any value is not an instance of the type specified by its key */ public static <B, S extends B> ImmutableClassToInstanceMap<B> copyOf( Map<? extends Class<? extends S>, ? extends S> map) { if (map instanceof ImmutableClassToInstanceMap) { @SuppressWarnings("unchecked") // covariant casts safe (unmodifiable) // Eclipse won't compile if we cast to the parameterized type. ImmutableClassToInstanceMap<B> cast = (ImmutableClassToInstanceMap) map; return cast; } return new Builder<B>().putAll(map).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)); }