Interface ClientPolicyConditionProvider<CONFIG extends ClientPolicyConditionConfigurationRepresentation>

All Superinterfaces:
Provider
All Known Implementing Classes:
AbstractClientPolicyConditionProvider, AnyClientCondition, ClientAccessTypeCondition, ClientProtocolCondition, ClientRolesCondition, ClientScopesCondition, ClientUpdaterContextCondition, ClientUpdaterSourceGroupsCondition, ClientUpdaterSourceHostsCondition, ClientUpdaterSourceRolesCondition

public interface ClientPolicyConditionProvider<CONFIG extends ClientPolicyConditionConfigurationRepresentation> extends Provider
This condition determines to which client a client policy is adopted. The condition can be evaluated on the events defined in ClientPolicyEvent. It is sufficient for the implementer of this condition to implement methods in which they are interested and isEvaluatedOnEvent method.
Author:
Takashi Norimatsu
  • Method Details

    • close

      default void close()
      Specified by:
      close in interface Provider
    • setupConfiguration

      void setupConfiguration(CONFIG config)
      setup this condition's configuration.
      Parameters:
      config -
    • getConditionConfigurationClass

      default Class<CONFIG> getConditionConfigurationClass()
      Returns:
      Class, which should match the "config" argument of the setupConfiguration(ClientPolicyConditionConfigurationRepresentation)
    • applyPolicy

      default ClientPolicyVote applyPolicy(ClientPolicyContext context) throws ClientPolicyException
      returns ABSTAIN if this condition is not evaluated due to its nature. returns YES if the client satisfies this condition on the event defined in ClientPolicyEvent. If not, returns NO.
      Parameters:
      context - - the context of the event.
      Returns:
      returns ABSTAIN if this condition is not evaluated due to its nature.
      Throws:
      ClientPolicyException
    • isNegativeLogic

      boolean isNegativeLogic() throws ClientPolicyException
      tells whether the result of applyPolicy method is inverted or not as follows. ClientPolicyVote.YES is inverted to ClientPolicyVote.NO ClientPolicyVote.NO is inverted to ClientPolicyVote.YES ClientPolicyVote.ABSTAIN remains unchanged
      Returns:
      true if the result of applyPolicy method is inverted.
      Throws:
      ClientPolicyException
    • getName

      default String getName()
    • getProviderId

      String getProviderId()