Class ProtocolValidator

All Implemented Interfaces:
NodeValidator<Protocol>

public class ProtocolValidator
extends NameableNodeValidator<Protocol>
Validator implementation for protocols. Validation rules:
Version:
2.10
Author:
Nicklas
Last modified
$Date: 2020-09-18 11:51:26 +0200 (Fri, 18 Sep 2020) $
  • Constructor Details

    • ProtocolValidator

      public ProtocolValidator()
  • Method Details

    • preMissingItem

      public boolean preMissingItem​(DbControl dc, OverviewContext context, Node parentNode)
      If the parent item has a subtype that is related to a PROTOCOL subtype, report the missing item as a Validator.MISSING_PROTOCOL failure. Otherwise, ignore the missing protocol.
      Specified by:
      preMissingItem in interface NodeValidator<Protocol>
      Overrides:
      preMissingItem in class BasicNodeValidator<Protocol>
      Parameters:
      dc - A DbControl to use if the validation needs to access the database
      context - The current overview context
      parentNode - The parent node that is missing the item
      Returns:
      Always false
    • postValidate

      public void postValidate​(DbControl dc, OverviewContext context, Node node, Node parentNode)
      Checks if the protocol is of the correct protocol type and, if a project is active, the protocol is the same as the default for the project.
      Specified by:
      postValidate in interface NodeValidator<Protocol>
      Overrides:
      postValidate in class NameableNodeValidator<Protocol>
      Parameters:
      dc - A DbControl to use if the validation needs to access the database
      context - The current overview context
      node - The node object that represents item
      parentNode - The parent node that is linked with the item
    • getMissingItemFix

      protected Fix getMissingItemFix​(DbControl dc, Node parentNode)
      Description copied from class: BasicNodeValidator
      Subclasses should override this method if they have a suggessted fix for a missing item problem. The default implementation does nothing, but the following template may be usable by most subclasses:
                      new Fix("Add item to parent", parentNode.getItem())
                      
      Specified by:
      getMissingItemFix in class BasicNodeValidator<Protocol>
      Returns:
      Suggested fix is to add a protocol to the parent item
    • getExpectedProtocolSubtype

      protected ItemSubtype getExpectedProtocolSubtype​(DbControl dc, BasicItem parentItem)
      Get the subtype of the associated protocol that we expect for the given parent item.