/** * Finds all implementations of {@link MarkFactory} which have registered using the services * mechanism. * * @return An iterator over all discovered datastores which have registered factories, and whose * available method returns true. */ public static synchronized Iterator<MarkFactory> getMarkFactories() { return getServiceRegistry().getFactories(MarkFactory.class, null, null).iterator(); }
/** * Scans for factory plug-ins on the application class path. This method is needed because the * application class path can theoretically change, or additional plug-ins may become available. * Rather than re-scanning the classpath on every invocation of the API, the class path is * scanned automatically only on the first invocation. Clients can call this method to prompt a * re-scan. Thus this method need only be invoked by sophisticated applications which * dynamically make new plug-ins available at runtime. */ public static synchronized void scanForPlugins() { getServiceRegistry().scanForPlugins(); } }
/** * Finds all implementations of {@link ExternalGraphicFactory} which have registered using the * services mechanism. * * @param hints An optional map of hints for factory configfuration, or {@code null} if none. * @return An iterator over all registered ExternalGraphicFactory */ public static synchronized Iterator<ExternalGraphicFactory> getExternalGraphicFactories( Hints hints) { return getServiceRegistry() .getFactories(ExternalGraphicFactory.class, null, hints) .iterator(); }
/** * Finds all implementations of {@link MarkFactory} which have registered * using the services mechanism. * * @return An iterator over all discovered datastores which have registered * factories, and whose available method returns true. */ public static synchronized Iterator<MarkFactory> getMarkFactories() { return getServiceRegistry().getServiceProviders(MarkFactory.class, null, null); }
/** * Finds all implementations of {@link ExternalGraphicFactory} which have * registered using the services mechanism. * * @return An iterator over all discovered datastores which have registered * factories, and whose available method returns true. */ public static synchronized Iterator<ExternalGraphicFactory> getExternalGraphicFactories() { return getServiceRegistry().getServiceProviders(ExternalGraphicFactory.class, null, null); }
/** * Scans for factory plug-ins on the application class path. This method is * needed because the application class path can theoretically change, or * additional plug-ins may become available. Rather than re-scanning the * classpath on every invocation of the API, the class path is scanned * automatically only on the first invocation. Clients can call this method * to prompt a re-scan. Thus this method need only be invoked by * sophisticated applications which dynamically make new plug-ins available * at runtime. */ public static synchronized void scanForPlugins() { getServiceRegistry().scanForPlugins(); } }