All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.daisy.dotify.api.writer.PagedMediaWriterFactoryService Maven / Gradle / Ivy

There is a newer version: 1.0.7
Show newest version
package org.daisy.dotify.api.writer;

import java.util.Collection;


/**
 * 

* Provides an interface for a PagedMediaWriterFactory service. The purpose of this * interface is to expose an implementation of a PagedMediaWriterFactory as a * service. *

* *

* To comply with this interface, an implementation must be thread safe and * address both the possibility that only a single instance is created and used * throughout and that new instances are created as desired. *

* * @author Joel Håkansson */ public interface PagedMediaWriterFactoryService { /** * Returns true if this instance can create instances for the specified * mediaType. * * @param mediaType a valid Internet media type * @return returns true if the specified locale is supported, false * otherwise */ public boolean supportsMediaType(String mediaType); /** * Lists supported media types. * * @return returns a list of supported media types */ public Collection listMediaTypes(); /** * Creates a new paged media writer factory for the specified * media type. * * @param mediaType the media type. * @return returns a new factory */ public PagedMediaWriterFactory newFactory(String mediaType); /** *

Informs the implementation that it was discovered and instantiated using * information collected from a file within the META-INF/services directory. * In other words, it was created using SPI (service provider interfaces).

* *

This information, in turn, enables the implementation to use the same mechanism * to set dependencies as needed.

* *

If this information is not given, an implementation * should avoid using SPIs and instead use * declarative services * for dependency injection as specified by OSGi. Note that this also applies to * several newInstance() methods in the Java API.

* *

The class that created an instance with SPI must call this method before * putting it to use.

*/ public default void setCreatedWithSPI() { } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy