@Override public <T> Builder.Registry add(Class<T> service) { return add(service, service); }
public Configuration() { this.properties = new HashMap<String, Object>(); this.builder = DefaultBuilder.create(); }
@Override public <T, TImpl> Builder.Registry add(Class<T> service, final Class<TImpl> implementation) { final Constructor<?> ctor = findInjectConstructor(implementation); final Class<?>[] parameterTypes = ctor.getParameterTypes(); final Annotation[][] parameterAnnotations = ctor .getParameterAnnotations(); addFactory(service, new Builder.Factory<T>() { @Override @SuppressWarnings("unchecked")
@Override public <T> Registry add(Factory<T> factory) { for (Type genericInterface : factory.getClass().getGenericInterfaces()) { ParameterizedType parameterizedType = (ParameterizedType) genericInterface; if (parameterizedType.getRawType().equals(Builder.Factory.class)) { Type typeArgument = parameterizedType.getActualTypeArguments()[0]; addFactory((Class<?>) typeArgument, factory); } } return this; }
public static DefaultBuilder create() { DefaultBuilder builder = new DefaultBuilder(); for (Builder.Exports exports : ServiceLoader .load(Builder.Exports.class)) { exports.register(builder); } return builder; }
@Override public <T, TImpl> Builder.Registry add(Class<T> service, final Class<TImpl> implementation) { final Constructor<?> ctor = findInjectConstructor(implementation); final Class<?>[] parameterTypes = ctor.getParameterTypes(); final Annotation[][] parameterAnnotations = ctor .getParameterAnnotations(); addFactory(service, new Builder.Factory<T>() { @Override @SuppressWarnings("unchecked")
@Override public <T> Registry add(Factory<T> factory) { for (Type genericInterface : factory.getClass().getGenericInterfaces()) { ParameterizedType parameterizedType = (ParameterizedType) genericInterface; if (parameterizedType.getRawType().equals(Builder.Factory.class)) { Type typeArgument = parameterizedType.getActualTypeArguments()[0]; addFactory((Class<?>) typeArgument, factory); } } return this; }
public static DefaultBuilder create() { DefaultBuilder builder = new DefaultBuilder(); for (Builder.Exports exports : ServiceLoader .load(Builder.Exports.class)) { exports.register(builder); } return builder; }
public Configuration() { this.properties = new HashMap<String, Object>(); this.builder = DefaultBuilder.create(); }
@Override public <T> Builder.Registry add(Class<T> service) { return add(service, service); }