@Override public DynamicConfiguration createDynamicConfiguration() { return new DynamicConfigurationImpl(locator); }
@Override public <T> ActiveDescriptor<T> addActiveDescriptor(ActiveDescriptor<T> activeDescriptor) throws IllegalArgumentException { return addActiveDescriptor(activeDescriptor, true); }
@Override public <T> ActiveDescriptor<T> bind(Descriptor key) { return bind(key, true); }
DynamicConfigurationImpl dci = new DynamicConfigurationImpl(sli); dci.bind(Utilities.getLocatorDescriptor(sli)); dci.addActiveDescriptor(Utilities.getThreeThirtyDescriptor(sli)); dci.bind(BuilderHelper.link(DynamicConfigurationServiceImpl.class, false). to(DynamicConfigurationService.class). in(Singleton.class.getName()). build()); dci.bind(BuilderHelper.createConstantDescriptor( new DefaultClassAnalyzer(sli))); dci.bind(BuilderHelper.createDescriptorFromClass(ServiceLocatorRuntimeImpl.class)); dci.bind(BuilderHelper.createConstantDescriptor( new InstantiationServiceImpl())); dci.commit();
@Override public <T> ActiveDescriptor<T> addActiveDescriptor(Class<T> rawClass) throws IllegalArgumentException { AutoActiveDescriptor<T> ad = Utilities.createAutoDescriptor(rawClass, locator); checkReifiedDescriptor(ad); ActiveDescriptor<T> retVal = addActiveDescriptor(ad, false); ad.resetSelfDescriptor(retVal); return retVal; }
@Override public <T> ActiveDescriptor<T> addActiveDescriptor(ActiveDescriptor<T> activeDescriptor, boolean requiresDeepCopy) throws IllegalArgumentException { checkState(); checkDescriptor(activeDescriptor); if (!activeDescriptor.isReified()) { throw new IllegalArgumentException(); } checkReifiedDescriptor(activeDescriptor); SystemDescriptor<T> retVal = new SystemDescriptor<T>(activeDescriptor, requiresDeepCopy, locator, locator.getNextServiceId()); allDescriptors.add(retVal); return retVal; }
@Override public <T> ActiveDescriptor<T> bind(Descriptor key, boolean requiresDeepCopy) { checkState(); checkDescriptor(key); SystemDescriptor<T> sd = new SystemDescriptor<T>(key, requiresDeepCopy, locator, locator.getNextServiceId()); allDescriptors.add(sd); return sd; }
TwoPhaseTransactionDataImpl transactionData = new TwoPhaseTransactionDataImpl(); for (Filter unbindFilter : dci.getUnbindFilters()) { List<SystemDescriptor<?>> results = getDescriptors(unbindFilter, null, false, false, true); for (SystemDescriptor<?> sd : dci.getAllDescriptors()) { transactionData.toAdd(sd); List<Filter> idempotentFilters = dci.getIdempotentFilters(); if (!idempotentFilters.isEmpty()) { List<ActiveDescriptor<?>> allValidatedDescriptors = getDescriptors(BuilderHelper.allFilter()); LinkedList<TwoPhaseResource> resources = dci.getResources(); List<TwoPhaseResource> completedPrepares = new LinkedList<TwoPhaseResource>();
HashSet<String> affectedContracts = new HashSet<String>(); for (Filter unbindFilter : dci.getUnbindFilters()) { List<SystemDescriptor<?>> results = getDescriptors(unbindFilter, null, false, false, true); for (SystemDescriptor<?> sd : dci.getAllDescriptors()) { affectedContracts.addAll(getAllContracts(sd));
@Override public void registerTwoPhaseResources(TwoPhaseResource... resources) { checkState(); if (resources == null) return; for (int lcv = 0; lcv < resources.length; lcv++) { TwoPhaseResource resource = resources[lcv]; if (resource == null) continue; allResources.add(resource); } }
List<SystemDescriptor<?>> thingsAdded = new LinkedList<SystemDescriptor<?>>(); for (SystemDescriptor<?> sd : dci.getAllDescriptors()) { if ((BIND_TRACING_PATTERN != null) && doTrace(sd)) { Logger.getLogger().debug("HK2 Bind Tracing: Adding Descriptor " + sd);
Descriptor asFactory = factoryDescriptors.getFactoryAsAFactory(); checkDescriptor(asService); checkDescriptor(asFactory);
DynamicConfigurationImpl dci = new DynamicConfigurationImpl(sli); dci.bind(Utilities.getLocatorDescriptor(sli)); dci.addActiveDescriptor(Utilities.getThreeThirtyDescriptor(sli)); dci.bind(BuilderHelper.link(DynamicConfigurationServiceImpl.class, false). to(DynamicConfigurationService.class). in(Singleton.class.getName()). build()); dci.bind(BuilderHelper.createConstantDescriptor( new DefaultClassAnalyzer(sli))); dci.bind(BuilderHelper.createDescriptorFromClass(ServiceLocatorRuntimeImpl.class)); dci.bind(BuilderHelper.createConstantDescriptor( new InstantiationServiceImpl())); dci.commit();
@Override public <T> ActiveDescriptor<T> addActiveDescriptor(Class<T> rawClass) throws IllegalArgumentException { AutoActiveDescriptor<T> ad = Utilities.createAutoDescriptor(rawClass, locator); checkReifiedDescriptor(ad); ActiveDescriptor<T> retVal = addActiveDescriptor(ad, false); ad.resetSelfDescriptor(retVal); return retVal; }
@Override public <T> ActiveDescriptor<T> addActiveDescriptor(ActiveDescriptor<T> activeDescriptor, boolean requiresDeepCopy) throws IllegalArgumentException { checkState(); checkDescriptor(activeDescriptor); if (!activeDescriptor.isReified()) { throw new IllegalArgumentException(); } checkReifiedDescriptor(activeDescriptor); SystemDescriptor<T> retVal = new SystemDescriptor<T>(activeDescriptor, requiresDeepCopy, locator, locator.getNextServiceId()); allDescriptors.add(retVal); return retVal; }
@Override public <T> ActiveDescriptor<T> bind(Descriptor key, boolean requiresDeepCopy) { checkState(); checkDescriptor(key); SystemDescriptor<T> sd = new SystemDescriptor<T>(key, requiresDeepCopy, locator, locator.getNextServiceId()); allDescriptors.add(sd); return sd; }
HashSet<String> affectedContracts = new HashSet<String>(); for (Filter unbindFilter : dci.getUnbindFilters()) { List<SystemDescriptor<?>> results = getDescriptors(unbindFilter, null, false, false, true); for (SystemDescriptor<?> sd : dci.getAllDescriptors()) { affectedContracts.addAll(getAllContracts(sd));
@Override public void addUnbindFilter(Filter unbindFilter) throws IllegalArgumentException { if (unbindFilter == null) throw new IllegalArgumentException(); checkState(); allUnbindFilters.add(unbindFilter); }
List<SystemDescriptor<?>> thingsAdded = new LinkedList<SystemDescriptor<?>>(); for (SystemDescriptor<?> sd : dci.getAllDescriptors()) { if ((BIND_TRACING_PATTERN != null) && doTrace(sd)) { Logger.getLogger().debug("HK2 Bind Tracing: Adding Descriptor " + sd);
Descriptor asFactory = factoryDescriptors.getFactoryAsAFactory(); checkDescriptor(asService); checkDescriptor(asFactory);