Class DeferredTranslatorFactory

  • All Implemented Interfaces:
    TranslatorFactory

    public class DeferredTranslatorFactory
    extends java.lang.Object
    implements TranslatorFactory
    A TranslatorFactory that creates the Translator based on serving.properties file.

    The Criteria API cannot access serving.properties files before it's downloaded. A DeferredTranslatorFactory assumes serving.properties will provide proper Translator. If no translatorFactory is provided in serving.properties, a TranslateException will be thrown.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Set<ai.djl.util.Pair<java.lang.reflect.Type,​java.lang.reflect.Type>> getSupportedTypes()
      Returns supported input/output classes.
      boolean isSupported​(java.lang.Class<?> input, java.lang.Class<?> output)
      Returns if the input/output is supported by the TranslatorFactory.
      <I,​O>
      Translator<I,​O>
      newInstance​(java.lang.Class<I> input, java.lang.Class<O> output, Model model, java.util.Map<java.lang.String,​?> arguments)
      Returns a new instance of the Translator class.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DeferredTranslatorFactory

        public DeferredTranslatorFactory()
    • Method Detail

      • getSupportedTypes

        public java.util.Set<ai.djl.util.Pair<java.lang.reflect.Type,​java.lang.reflect.Type>> getSupportedTypes()
        Returns supported input/output classes.
        Specified by:
        getSupportedTypes in interface TranslatorFactory
        Returns:
        a set of supported input/output classes
      • isSupported

        public boolean isSupported​(java.lang.Class<?> input,
                                   java.lang.Class<?> output)
        Returns if the input/output is supported by the TranslatorFactory.
        Specified by:
        isSupported in interface TranslatorFactory
        Parameters:
        input - the input class
        output - the output class
        Returns:
        true if the input/output type is supported
      • newInstance

        public <I,​O> Translator<I,​O> newInstance​(java.lang.Class<I> input,
                                                             java.lang.Class<O> output,
                                                             Model model,
                                                             java.util.Map<java.lang.String,​?> arguments)
                                                      throws TranslateException
        Returns a new instance of the Translator class.
        Specified by:
        newInstance in interface TranslatorFactory
        Type Parameters:
        I - the input data type
        O - the output data type
        Parameters:
        input - the input class
        output - the output class
        model - the Model that uses the Translator
        arguments - the configurations for a new Translator instance
        Returns:
        a new instance of the Translator class
        Throws:
        TranslateException - if failed to create Translator instance