Interface IComponentFeature

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      jadex.commons.future.IFuture<java.lang.Void> body()
      Execute the main activity of the feature.
      jadex.commons.IParameterGuesser getParameterGuesser()
      The feature can add objects for field or method injections by providing an optional parameter guesser.
      jadex.commons.IValueFetcher getValueFetcher()
      The feature can inject parameters for expression evaluation by providing an optional value fetcher.
      boolean hasUserBody()
      Check if the feature potentially executed user code in body.
      jadex.commons.future.IFuture<java.lang.Void> init()
      Initialize the feature.
      void kill()
      Kill is only invoked, when shutdown does not return due to timeout.
      jadex.commons.future.IFuture<java.lang.Void> shutdown()
      Shutdown the feature.
    • Method Detail

      • init

        jadex.commons.future.IFuture<java.lang.Void> init()
        Initialize the feature.
      • body

        jadex.commons.future.IFuture<java.lang.Void> body()
        Execute the main activity of the feature.
      • shutdown

        jadex.commons.future.IFuture<java.lang.Void> shutdown()
        Shutdown the feature.
      • kill

        void kill()
        Kill is only invoked, when shutdown does not return due to timeout. The feature should do any kind of possible cleanup, but no asynchronous operations.
      • getValueFetcher

        jadex.commons.IValueFetcher getValueFetcher()
        The feature can inject parameters for expression evaluation by providing an optional value fetcher. The fetch order is the reverse init order, i.e., later features can override values from earlier features.
      • getParameterGuesser

        jadex.commons.IParameterGuesser getParameterGuesser()
        The feature can add objects for field or method injections by providing an optional parameter guesser. The selection order is the reverse init order, i.e., later features can override values from earlier features.
      • hasUserBody

        boolean hasUserBody()
        Check if the feature potentially executed user code in body. Allows blocking operations in user bodies by using separate steps for each feature. Non-user-body-features are directly executed for speed. If unsure just return true. ;-)