Class RuleTypeBuilder<S extends RuleTypeBuilder<S,T>,T extends Rule<?>>

java.lang.Object
ca.uhn.hl7v2.validation.builder.BuilderSupport
ca.uhn.hl7v2.validation.builder.RuleTypeBuilder<S,T>
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
EncodingRuleBuilder, MessageRuleBuilder, PrimitiveRuleBuilder, ValidationRuleBuilder

public class RuleTypeBuilder<S extends RuleTypeBuilder<S,T>,T extends Rule<?>> extends BuilderSupport
Defines the type of rule to be built.

The recursive type parameter allows the builder methods common to all subclasses (e.g. refersToSection(java.lang.String), active, test(T)) to return their specific builder type.

Author:
Christian Ohr
See Also:
  • Constructor Details

  • Method Details

    • instance

      protected S instance()
    • getRules

      protected List<RuleBinding<? extends Rule<?>>> getRules()
    • prepareRule

      protected T prepareRule(T rule)
    • description

      public S description(String description)
      Adds a description to the rule
      Parameters:
      description - description
      Returns:
      this instance to build more rules
    • refersToSection

      public S refersToSection(String sectionReference)
      Adds a HL7 section reference to a rule
      Parameters:
      sectionReference - the section in the HL7 specification
      Returns:
      this instance to build more rules
    • severity

      public S severity(Severity severity)
      Sets the severity of the rule
      Parameters:
      severity - the the severity of the rule
      Returns:
      this instance to build more rules
    • active

      public S active(boolean active)
      Marks the rule as being active (default) or inactive
      Parameters:
      active - true if this rule shall be active
      Returns:
      this instance to build more rules
    • test

      public S test(T rule)
      Adds the specified rule to the set of rules.
      Parameters:
      rule - the rule to be tested
      Returns:
      this instance to build more rules
    • primitive

      Builds PrimitiveTypeRules for the specified types
      Parameters:
      type - an array of types
      Returns:
      this instance to continue building rules
    • message

      public MessageRuleBuilder message(String eventType, String... triggerEvents)
      Builds MessageRules for the specified event types and triggers
      Parameters:
      eventType - Event type, e.g. "ADT", or "*" for all types
      triggerEvents - , e.g. "A01" or "A01,A04", or "*" for all trigger events
      Returns:
      this instance to continue building rules
    • message

      Builds MessageRules for event types and triggers to be specified using the returned MessageExpressionBuilder.
      Returns:
      MessageExpressionBuilder instance to continue building rules
    • encoding

      public EncodingRuleBuilder encoding(String encoding)
      Builds MessageRules for the specified encoding
      Parameters:
      encoding - "XML" or "VB"
      Returns:
      this instance to continue building rules
    • addRuleBindings

      protected void addRuleBindings(T rule)
      Add RuleBindings for the rule that have been built
      Parameters:
      rule - the rule for which bindings shall be added
    • getRuleBindings

      protected Collection<RuleBinding<T>> getRuleBindings(T rule, String version)
      Builder implementation must overwrite this method to return all RuleBindings for rules that have been built.
      Parameters:
      rule - the rule for which bindings shall be retrieved
      version - the HL7 version for which bindings shall be retrieved
      Returns:
      a collection of RuleBindings
    • activate