Package com.documents4j.job
Class AggregatingConverter
- java.lang.Object
-
- com.documents4j.job.AggregatingConverter
-
- All Implemented Interfaces:
IAggregatingConverter,IConverter,IConverterFailureCallback,Runnable
public class AggregatingConverter extends Object implements IAggregatingConverter, IConverterFailureCallback, Runnable
A converter that aggregates several other converters and serves as a load balancer between these converters. At the same time, the converter automatically deregisters
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAggregatingConverter.BuilderA builder for creating anAggregatingConverter.
-
Field Summary
-
Fields inherited from interface com.documents4j.api.IConverter
JOB_PRIORITY_HIGH, JOB_PRIORITY_LOW, JOB_PRIORITY_NORMAL
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAggregatingConverter(CopyOnWriteArrayList<IConverter> converters, ISelectionStrategy selectionStrategy, IConverterFailureCallback converterFailureCallback, boolean propagateShutDown)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AggregatingConverter.Builderbuilder()Creates a new builder instance.IConversionJobWithSourceUnspecifiedconvert(IFileSource source)IConversionJobWithSourceUnspecifiedconvert(IInputStreamSource source)IConversionJobWithSourceUnspecifiedconvert(File source)IConversionJobWithSourceUnspecifiedconvert(InputStream source)IConversionJobWithSourceUnspecifiedconvert(InputStream source, boolean close)Set<IConverter>getConverters()Returns a set of the converters that are currently registered by this aggregating converter.Map<DocumentType,Set<DocumentType>>getSupportedConversions()booleanisOperational()voidkill()static IAggregatingConvertermake(IConverter... converters)Creates a new aggregation converter of the given converters.static IAggregatingConvertermake(Collection<? extends IConverter> converters)Creates a new aggregation converter of the given converters.protected IConverternextConverter(DocumentType sourceFormat, DocumentType targetFormat)voidonFailure(IConverter converter)Invoked once for any converter that failed.booleanregister(IConverter converter)Registers an additional converter.booleanremove(IConverter converter)Removes a converter.voidrun()voidshutDown()
-
-
-
Constructor Detail
-
AggregatingConverter
protected AggregatingConverter(CopyOnWriteArrayList<IConverter> converters, ISelectionStrategy selectionStrategy, IConverterFailureCallback converterFailureCallback, boolean propagateShutDown)
-
-
Method Detail
-
builder
public static AggregatingConverter.Builder builder()
Creates a new builder instance.- Returns:
- A new builder instance.
-
make
public static IAggregatingConverter make(IConverter... converters)
Creates a new aggregation converter of the given converters.- Parameters:
converters- The converters to aggregate.- Returns:
- A new aggregation converter
-
make
public static IAggregatingConverter make(Collection<? extends IConverter> converters)
Creates a new aggregation converter of the given converters.- Parameters:
converters- The available converters.- Returns:
- A new aggregation converter
-
getSupportedConversions
public Map<DocumentType,Set<DocumentType>> getSupportedConversions()
- Specified by:
getSupportedConversionsin interfaceIConverter
-
isOperational
public boolean isOperational()
- Specified by:
isOperationalin interfaceIConverter
-
nextConverter
protected IConverter nextConverter(DocumentType sourceFormat, DocumentType targetFormat)
-
convert
public IConversionJobWithSourceUnspecified convert(File source)
- Specified by:
convertin interfaceIConverter
-
convert
public IConversionJobWithSourceUnspecified convert(InputStream source)
- Specified by:
convertin interfaceIConverter
-
convert
public IConversionJobWithSourceUnspecified convert(InputStream source, boolean close)
- Specified by:
convertin interfaceIConverter
-
convert
public IConversionJobWithSourceUnspecified convert(IFileSource source)
- Specified by:
convertin interfaceIConverter
-
convert
public IConversionJobWithSourceUnspecified convert(IInputStreamSource source)
- Specified by:
convertin interfaceIConverter
-
register
public boolean register(IConverter converter)
Description copied from interface:IAggregatingConverterRegisters an additional converter.- Specified by:
registerin interfaceIAggregatingConverter- Parameters:
converter- The converter to register.- Returns:
trueif the converter was not already registered.
-
remove
public boolean remove(IConverter converter)
Description copied from interface:IAggregatingConverterRemoves a converter.- Specified by:
removein interfaceIAggregatingConverter- Parameters:
converter- The converter to remove.- Returns:
trueif the converter was previously registered and is now removed.
-
getConverters
public Set<IConverter> getConverters()
Description copied from interface:IAggregatingConverterReturns a set of the converters that are currently registered by this aggregating converter.- Specified by:
getConvertersin interfaceIAggregatingConverter- Returns:
- The currently registered converters.
-
shutDown
public void shutDown()
- Specified by:
shutDownin interfaceIConverter
-
kill
public void kill()
- Specified by:
killin interfaceIConverter
-
onFailure
public void onFailure(IConverter converter)
Description copied from interface:IConverterFailureCallbackInvoked once for any converter that failed. This method should not execute any heavy operations in the thread that invokes this method but rather return quickly.- Specified by:
onFailurein interfaceIConverterFailureCallback- Parameters:
converter- The converter that failed.
-
-