See: Description
Interface | Description |
---|---|
AccessPermissionRule |
Provides methods to access permission rules.
|
AccessPermissionRuleDefinition |
Contains methods which define attributes for
AccessPermissionRule
implementations. |
ActionPermissionRule |
Provides methods for action permission rules.
|
ActionPermissionRuleDefinition |
Contains methods which define attributes for
ActionPermissionRule
implementations. |
BusinessRuleDefinition |
Contains methods which define attributes for rule implementations.
|
PermissionExecutionContext |
Defines permission rule parameters.
|
PermissionRuleConfigurationContext |
Provides configuration attributes for
AccessPermissionRule
implementation and ActionPermissionRule implementation. |
Rule |
Provides methods for business rules.
|
RuleConfigurationContext |
Provides configuration attributes for
Rule implementation. |
RuleDefinition |
Contains methods that define common attributes for both business rule
implementation and permission rule implementation.
|
RuleExecutionContext |
Defines business rule parameters.
|
Class | Description |
---|---|
DefaultConstraint |
Executes validation rule business logic.
|
DefaultConstraintOnNull |
Executes validation rule business logic.
|
DefaultConstraintOnTable |
Executes manual validation rule business logic.
|
DefaultRulesSchemaServicePermission |
Specifies the conditions under which the service may be executed.
|
DefaultRulesServicePermission |
Specifies the conditions under which the service may be executed.
|
DefaultSchemaExtension |
Evaluates the permissions on a data set, table, field or record.
|
DefaultTableTrigger |
Extends the
TableTrigger class and executes automated and
validation rule business logic. |
Hook |
Defines the event that executes a rule such as 'Before update', 'After
insert', etc.
|
InputData |
Defines the input data for a rule or rule context.
|
OutputData |
Defines the output data for a rule or rule context.
|
ParameterDefinition |
Defines a parameter for a rule or rule context.
|
PermissionScope |
Defines the scopes for
AccessPermissionRule and
ActionPermissionRule . |
PropertyData |
Defines the property data for a rule or rule context.
|
RuleExecutionResult |
Represents the result of rule execution.
|
RulesCatalog |
Provides the list of business rules to register.
|
RuleType |
Defines the types available for a business rule.
|
Exception | Description |
---|---|
RpflException |
Defines the exception for business rules.
|
Classes and interfaces to create business rules and permission rules.
Create a Rule
and a RuleDefinition
:
public class RuleTest implements Rule { private UserMessage errorMessage; private List<PropertyData> propertyData; public RuleTest() { } public void setup(RuleConfigurationContext configurationContext) { this.errorMessage = configurationContext.getErrorMessage(); this.propertyData = configurationContext.getPropertyData(); } public RuleExecutionResult execute(RuleExecutionContext executionContext) { RuleExecutionResult result = new RuleExecutionResult(); result.setErrorMessage(this.errorMessage); // do something ... result.setResult(false); return result; } } public class RuleTest_Definition implements BusinessRuleDefinition { public RuleType getRuleType() { return RuleType.ValidationRule; } public Rule getRuleInstance() { return new RuleTest(); } public UserMessage getLabel() { return UserMessage.createInfo("Rule test label"); } public List<InputData> getInputData() { return null; } public List<OutputData> getOutputData() { return null; } public List<PropertyData> getPropertyData() { return null; } public boolean isContext() { return false; } public UserMessage getBusinessConcept() { return HmfhBusinessConcept.ACCOUNT; } public UserMessage getDefaultMessage() { return UserMessage.createError("Rule test is failed"); } }
Add this rule to RulesCatalog
:
RulesCatalog.add(new RuleTest_Definition());
Create an AccessPermissionRule
and an AccessPermissionRuleDefinition
:
public final class AccessHidden implements AccessPermissionRule { private List<PropertyData> propertyData; public AccessPermission getPermission(PermissionExecutionContext context) { return AccessPermission.getHidden(); } public void setup(PermissionRuleConfigurationContext configurationContext) { this.propertyData = configurationContext.getPropertyData(); } } public final class HiddenDataset_Definition implements AccessPermissionRuleDefinition { public List<InputData> getInputData() { return null; } public UserMessage getLabel() { return UserMessage.createInfo("Hide the data set"); } public List<OutputData> getOutputData() { return null; } public List<PropertyData> getPropertyData() { return null; } public UserMessage getBusinessConcept() { return UserMessage.createInfo("Any data set"); } public AccessPermissionRule getRuleInstance() { return new AccessHidden(); } public PermissionScope getPermissionScope() { return PermissionScope.DATASET; } }
Add this access permission rule to RulesCatalog
:
RulesCatalog.add(new HiddenDataset_Definition());
Create an ActionPermissionRule
and an ActionPermissionRuleDefinition
:
public final class ActionDisable implements ActionPermissionRule { private List<PropertyData> propertyData; public ActionPermission getPermission(PermissionExecutionContext context) { return ActionPermission.getDisabled(); } public void setup(PermissionRuleConfigurationContext configurationContext) { this.propertyData = configurationContext.getPropertyData(); } } public final class DisableService_Definition implements ActionPermissionRuleDefinition { public List<InputData> getInputData() { return null; } public UserMessage getLabel() { return UserMessage.createInfo("Disable the service"); } public List<OutputData> getOutputData() { return null; } public List<PropertyData> getPropertyData() { return null; } public UserMessage getBusinessConcept() { return UserMessage.createInfo("Any service"); } public ActionPermissionRule getRuleInstance() { return new ActionDisable(); } }
Add this action permission rule to RulesCatalog
:
RulesCatalog.add(new DisableService_Definition());