Interface HyperonEngine

All Known Implementing Classes:
HyperonEngineImpl

@Deprecated public interface HyperonEngine
Deprecated.
This is access point to core functionalities of higson (engine). Possible actions:
1. Fetching parameters values based on context.
2. Calling functions with context and optional arguments.
3. Accessing domain object for profiles using full path.
4. Setting and removing effective dates and version of regions.
Author:
przemek hertel
  • Method Details

    • get

      ParamValue get(@NotNull @NotNull String parameterName, @NotNull @NotNull ParamContext ctx)
      Deprecated.
      This method tries to fetch parameter's value for given parameterName and context ctx. If parameter requires context for proper working(context is defined parameter's metadata), then it must be provided, so values could be fetched for matched context.

      Example:

      
       HyperonEngine engine = .. // might be injected or created from HyperonEngineFactory
       ParamValue paramValue = engine.get("parameter.code", new HyperonContext());
       
      Parameters:
      parameterName - parameter name
      ctx - context that is required for proper parameter fetching
      Returns:
      parameter value if found, or might be null
      See Also:
    • call

      Object call(@NotNull @NotNull String functionName, @NotNull @NotNull ParamContext ctx, Object... args)
      Deprecated.
      This method calls function defined within higson, with context and optional arguments. Function might return value as Object.

      Example:

      
       HyperonEngine engine = .. // might be injected or created from HyperonEngineFactory
       Object result = engine.call("function.name", new HyperonContext(), 1, 2, 3);
       
      Parameters:
      functionName - function name
      ctx - context used by function
      args - optional argument, if function requires them
      Returns:
      possible result of function call
      See Also:
    • runtimeConfiguration

      ParamEngineRuntimeConfig runtimeConfiguration()
      Deprecated.
      Return runtime configuration of this instance of parameter/function engine.
      Returns:
      runtime config
    • setEffectiveVersion

      void setEffectiveVersion(String region, String version)
      Deprecated.
      Enables to change version for given region, so it will acts as effective version. System version based on schedule will not be altered. If given region is attached to more than one profile, AmbiguousProfileException is thrown. Use setEffectiveVersion(String, String, String) in such situation.
      Parameters:
      region - region code
      version - effective version
      See Also:
    • setEffectiveVersion

      void setEffectiveVersion(String profileCode, String regionCode, String version)
      Deprecated.
      Enables to change version for given region in given profile, so it will acts as effective version. System version based on schedule will not be altered.
      Parameters:
      profileCode - profile code
      regionCode - region code
      version - effective version
      See Also:
    • setEffectiveDate

      void setEffectiveDate(Date date)
      Deprecated.
      Enables to change effective date that will alter work of a schedule (if there is any). After proper schedule was fetched, then version of parameters and functions is changed according to new schedule(based on given date).
      Warning Current implementation doesn't affect fetching domain objects from engine. It might be changed in the future.
      Parameters:
      date - effective date to be used for schedule
      See Also:
    • clearEffectiveVersion

      void clearEffectiveVersion(String region)
      Deprecated.
      Removes effective version for given region, if there was any. If given region is attached to more than one profile, AmbiguousProfileException is thrown. Use clearEffectiveVersion(String, String) in such situation.
      Parameters:
      region - region code to reset
      See Also:
    • clearEffectiveVersion

      void clearEffectiveVersion(String profileCode, String regionCode)
      Deprecated.
      Removes effective version for given region, if there was any.
      Parameters:
      profileCode - profile code
      regionCode - region code to reset
      See Also:
    • clearEffectiveVersions

      void clearEffectiveVersions()
      Deprecated.
      Removes all effective versions that were once set, even for multiple regions.
      See Also:
    • clearEffectiveDate

      void clearEffectiveDate()
      Deprecated.
      Removes effective date, that was once set. If there was no date, nothing happens.
      See Also:
    • clearEffectiveSetup

      void clearEffectiveSetup()
      Deprecated.
      Removes both effective date and effective versions for all regions.
      See Also:
    • getProfiles

      @Deprecated List<String> getProfiles()
      Deprecated.
      this method will be removed in future, please use getExistingProfiles()
      Returns codes of profiles with at least one domain element.
      Returns:
      List of profile codes for all profiles with at least one domain element, or empty list if there are no such profiles.
    • getExistingProfiles

      Set<String> getExistingProfiles()
      Deprecated.
      Returns codes of profiles with at least one domain element.
      Returns:
      Set of profile codes for all profiles with at least one domain element, or empty list if there are no such profiles.
      Since:
      1.6.52
    • getDomain

      HyperonDomainObject getDomain(String profile, String objectPath)
      Deprecated.
      Get domain object based on given profile and objectPath. It will be either head object or from user's session.
      How objectPath is defined: "/PLANS[LIAB]/OPTIONS[OPT1]" - where
      • /PLANS[LIAB] - LIAB code element within PLANS collection
      • / - acts as separator between child and parent
      • /OPTIONS[OPT1] - OPT1 code element within OPTIONS collection, that is child of PLANS[LIAB]

      Example:

      
        HyperonEngine engine = .. // might be injected or created from HyperonEngineFactory
        HyperonDomainObject root = engine.getDomain("PROFILE1", "/");   // root domain object for PROFILE1
        HyperonDomainObject adminElement = engine.getDomain("PROFILE1", "/USERS[ADMIN]");   // domain object with code "ADMIN" within collection "USERS"
       
      Parameters:
      profile - profile code
      objectPath - full path to domain object
      Returns:
      domain object if found, or null
      See Also:
    • getDigest

      String getDigest(Type type, String elementCode)
      Deprecated.
      Return digest of one of given Parameter/Funcion/Literal value
      Parameters:
      type - of Higson element to calculate its digest
      elementCode - code of parameter/function or literal value
      Returns:
      digest as string of given element or null, if digest is not available.