3.1.2: 2012-07-31

net.sf.basedb.util.overview.validator
Class HardwareValidator

java.lang.Object
  extended by net.sf.basedb.util.overview.validator.BasicNodeValidator<I>
      extended by net.sf.basedb.util.overview.validator.NameableNodeValidator<Hardware>
          extended by net.sf.basedb.util.overview.validator.HardwareValidator
All Implemented Interfaces:
NodeValidator<Hardware>

public class HardwareValidator
extends NameableNodeValidator<Hardware>

Validator implementation for hardware. Validation rules:

Version:
2.10
Author:
Nicklas
Last modified
$Date: 2011-10-18 13:46:59 +0200 (Tue, 18 Oct 2011) $

Constructor Summary
HardwareValidator()
           
 
Method Summary
protected  ItemSubtype getExpectedHardwareSubtype(DbControl dc, BasicItem parentItem)
          Get the subtype of the associated hardware that we expect for the given parent item.
protected  Fix getMissingItemFix(DbControl dc, Node parentNode)
          Subclasses should override this method if they have a suggessted fix for a missing item problem.
 void postValidate(DbControl dc, OverviewContext context, Node node, Node parentNode)
          Checks if the hardware is of the correct hardware type and, if a project is active, the hardware is included as a default hardware for the project.
 boolean preMissingItem(DbControl dc, OverviewContext context, Node parentNode)
          If the parent item has a subtype that is related to a HARDWARE subtype, report the missing item as a Validator.MISSING_HARDWARE failure.
 
Methods inherited from class net.sf.basedb.util.overview.validator.BasicNodeValidator
getDeniedItemFix, postDeniedItem, postMissingItem, postValidateFolder, preDeniedItem, preValidate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HardwareValidator

public HardwareValidator()
Method Detail

preMissingItem

public boolean preMissingItem(DbControl dc,
                              OverviewContext context,
                              Node parentNode)
If the parent item has a subtype that is related to a HARDWARE subtype, report the missing item as a Validator.MISSING_HARDWARE failure. Otherwise, ignore the missing hardware.

Specified by:
preMissingItem in interface NodeValidator<Hardware>
Overrides:
preMissingItem in class BasicNodeValidator<Hardware>
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 hardware is of the correct hardware type and, if a project is active, the hardware is included as a default hardware for the project.

Specified by:
postValidate in interface NodeValidator<Hardware>
Overrides:
postValidate in class NameableNodeValidator<Hardware>
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<Hardware>
Returns:
Suggested fix is to add a hardware to the parent item

getExpectedHardwareSubtype

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


3.1.2: 2012-07-31