Class AbstractSingletonFactory<Input,​Output>

    • Field Detail

      • log

        private final org.slf4j.Logger log
        Class logger.
    • Constructor Detail

      • AbstractSingletonFactory

        public AbstractSingletonFactory()
    • Method Detail

      • getInstance

        public Output getInstance​(Input input)
        Obtain an instance of the output class based on an input class instance.
        Specified by:
        getInstance in interface SingletonFactory<Input,​Output>
        Parameters:
        input - the input class instance
        Returns:
        an output class instance
      • get

        protected abstract Output get​(Input input)
        Get the output instance currently associated with the input instance.
        Parameters:
        input - the input instance key
        Returns:
        the output instance which corresponds to the input instance, or null if not present
      • put

        protected abstract void put​(Input input,
                                    Output output)
        Store the input and output instance association.
        Parameters:
        input - the input instance key
        output - the output instance value
      • createNewInstance

        protected abstract Output createNewInstance​(Input input)
        Create a new instance of the output class based on the input class instance.
        Parameters:
        input - the input class instance
        Returns:
        an output class instance