@Override public boolean hasArchetypeCatalogFactories() { return factories.size() > 0 || !services.isUnsatisfied(); }
@Override public boolean isEnabled(UIContext context) { return !SimpleContainer.getServices(getClass().getClassLoader(), ProjectProvider.class).isUnsatisfied(); }
private void fireListeners() { Imported<AfterGraphInitializationListener> afterInitializationListeners = furnace.getAddonRegistry().getServices( AfterGraphInitializationListener.class); Map<String, Object> confProps = new HashMap<>(); Iterator<?> keyIter = conf.getKeys(); while (keyIter.hasNext()) { String key = (String) keyIter.next(); confProps.put(key, conf.getProperty(key)); } if (!afterInitializationListeners.isUnsatisfied()) { for (AfterGraphInitializationListener listener : afterInitializationListeners) { listener.afterGraphStarted(confProps, this); if (listener instanceof BeforeGraphCloseListener) { beforeGraphCloseListenerBuffer.put(listener.getClass().toString(), (BeforeGraphCloseListener) listener); } } } }
private void fireListeners() { Imported<AfterGraphInitializationListener> afterInitializationListeners = furnace.getAddonRegistry().getServices( AfterGraphInitializationListener.class); Map<String, Object> confProps = new HashMap<>(); Iterator<?> keyIter = conf.getKeys(); while (keyIter.hasNext()) { String key = (String) keyIter.next(); confProps.put(key, conf.getProperty(key)); } if (!afterInitializationListeners.isUnsatisfied()) { for (AfterGraphInitializationListener listener : afterInitializationListeners) { listener.afterGraphStarted(confProps, this); if (listener instanceof BeforeGraphCloseListener) { beforeGraphCloseListenerBuffer.put(listener.getClass().toString(), (BeforeGraphCloseListener) listener); } } } }
if (services.isAmbiguous() || services.isUnsatisfied())
private <FACETEDTYPE extends Faceted<?>, FACETTYPE extends Facet<FACETEDTYPE>> FACETTYPE create( Class<FACETTYPE> type) { Assert.notNull(type, "Facet type must not be null."); Imported<FACETTYPE> instance = getAddonRegistry().getServices(type); if (instance.isAmbiguous()) { if (!type.isInterface() && !Modifier.isAbstract(type.getModifiers())) { FACETTYPE facet = instance.selectExact(type); return facet; } throw new FacetIsAmbiguousException("Cannot resolve ambiguous facet type [" + type.getName() + "] because multiple matching types were found: \n" + instance); } else if (instance.isUnsatisfied()) throw new FacetNotFoundException("Could not find Facet of type [" + type.getName() + "]"); else return instance.get(); }
if (String.class.equals(source) && !registry.getServices(target).isUnsatisfied())
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); provider = factory.createSelectOne("provider", ScaffoldProvider.class).setLabel("Scaffold Type") .setRequired(true); webRoot = factory.createInput("webRoot", String.class).setLabel("Web Root Path").setDefaultValue("/") .setDescription( "The web root path where the scaffolding will be placed/accessible from the client browser (default '/')."); Imported<ScaffoldProvider> scaffoldProviders = SimpleContainer.getServices(getClass().getClassLoader(), ScaffoldProvider.class); if (!scaffoldProviders.isUnsatisfied() && !scaffoldProviders.isAmbiguous()) { provider.setDefaultValue(scaffoldProviders.get()); } provider.setValueChoices(scaffoldProviders); provider.setItemLabelConverter((source) -> source.getName()); builder.add(provider).add(webRoot); }
Imported<ProjectFactory> services = SimpleContainer .getServices(getClass().getClassLoader(), ProjectFactory.class); if (Boolean.parseBoolean(skipProjectBuild) || services.isUnsatisfied())
@Override public void initializeUI(UIBuilder builder) throws Exception { InputComponentFactory factory = builder.getInputComponentFactory(); provider = factory.createSelectOne("provider", ScaffoldProvider.class).setLabel("Scaffold Type") .setRequired(true); webRoot = factory.createInput("webRoot", String.class).setLabel("Web Root Path").setDefaultValue("/") .setDescription( "The web root path where the scaffolding will be placed/accessible from the client browser (default '/')."); Imported<ScaffoldProvider> scaffoldProviders = SimpleContainer.getServices(getClass().getClassLoader(), ScaffoldProvider.class); if (!scaffoldProviders.isUnsatisfied() && !scaffoldProviders.isAmbiguous()) { provider.setDefaultValue(scaffoldProviders.get()); } provider.setValueChoices(scaffoldProviders); provider.setItemLabelConverter(new Converter<ScaffoldProvider, String>() { @Override public String convert(ScaffoldProvider source) { return source == null ? null : source.getName(); } }); builder.add(provider).add(webRoot); }