Class FactoryBase<L,​R extends FactoryBase<?,​R>>

    • Constructor Detail

      • FactoryBase

        public FactoryBase()
    • Method Detail

      • getId

        public java.util.UUID getId()
      • idEquals

        public boolean idEquals​(FactoryBase<?,​?> factory)
        compares ids
        Parameters:
        factory - factory
        Returns:
        true if id are equals
      • config

        protected FactoryBase.DataConfiguration config()
        data configurations api. Should be used in the default constructor
        Returns:
        the configuration api
      • internal

        public FactoryBase.Internal<L,​R> internal()
        internal methods should be only used from the framework. They may change in the Future. There is no fitting visibility in java therefore this workaround.
        Returns:
        the internal api
      • configLifeCycle

        protected FactoryBase.LifeCycleConfig<L,​R> configLifeCycle()
        life cycle configurations api

        Update Order
        1. recreate for changed, create for new
        2. destroy removed and updated
        3. start new

        The goal is to keep the time between destroy and start as short as possible cause that's essentially the application downtime. Therefore slow operation should be executed in create.

        Once usable resources like ports should be claimed in start and released in destroy
        should be used in the default constructor
        Returns:
        configuration api