com.ihr.xbrl.om

## Interface XBRLValidation

- All Known Implementing Classes:
    AutoFill, CalculationLinkbase, DefinitionLinkbase, FlMessage, FootnoteLinkbase, FormulaLinkbase, GenericLinkbase, LabelLinkbase, OtherLinkbase, PresentationLinkbase, ReferenceLinkbase, RenderHints, StaticRole, VersionLinkbase, XBRLAncestorFilter, XBRLAndFilter, XBRLArcroleType, XBRLAspectCoverFilter, XBRLAspectNode, XBRLAssertion, XBRLBreakdown, XBRLClosedDefinitionNode, XBRLConceptBalanceFilter, XBRLConceptCustomAttributeFilter, XBRLConceptDataTypeFilter, XBRLConceptFilterAbstract, XBRLConceptNameFilter, XBRLConceptPeriodTypeFilter, XBRLConceptRelationFilter, XBRLConceptRelationshipNode, XBRLConceptSubstitutionGroupFilter, XBRLConsistencyAssertion, XBRLContext, XBRLCustomFunction, XBRLCustomFunctionImplementation, XBRLDefinitionNode, XBRLDimensionFilterAbstract, XBRLDimensionRelationshipNode, XBRLDocument, XBRLExistenceAssertion, XBRLExplicitDimensionFilter, XBRLExtendedLink, XBRLFact, XBRLFactItem, XBRLFactNonNumeric, XBRLFactNumeric, XBRLFactTuple, XBRLFormula, XBRLFormulaFilterBase, XBRLFormulaResource, XBRLGeneralFilter, XBRLGeneralMeasuresFilter, XBRLIdentifierFilter, XBRLInstance, XBRLItem, XBRLLabelResource, XBRLLinkbase, XBRLLocationFilter, XBRLLocator, XBRLMatchAbstractFilter, XBRLMatchConceptFilter, XBRLMatchDimensionFilter, XBRLMatchEntityIdentifierFilter, XBRLMatchLocationFilter, XBRLMatchNonXDTScenarioFilter, XBRLMatchNonXDTSegmentFilter, XBRLMatchPeriodFilter, XBRLMatchScenarioFilter, XBRLMatchSegmentFilter, XBRLMatchUnitFilter, XBRLOpenDefinitionNode, XBRLOrFilter, XBRLParentFilter, XBRLPeriodEndFilter, XBRLPeriodFilter, XBRLPeriodFilterAbstract, XBRLPeriodForeverFilter, XBRLPeriodInstantDurationFilter, XBRLPeriodInstantFilter, XBRLPeriodStartFilter, XBRLRegExpIdentifierFilter, XBRLRegExpSchemeFilter, XBRLRelationship, XBRLRelationshipNode, XBRLRelativeFilter, XBRLResource, XBRLResultMessage, XBRLRoleAndArcroleTypes, XBRLRoleType, XBRLRuleNode, XBRLScenarioFilter, XBRLSegmentFilter, XBRLSiblingFilter, XBRLSingleMeasureFilter, XBRLSpecificIdentifierFilter, XBRLSpecificSchemeFilter, XBRLTable, XBRLTableResource, XBRLTaxonomy, XBRLTuple, XBRLTypedDimensionFilter, XBRLUnit, XBRLValidationImpl, XBRLValueAssertion, XBRLValueNilFilter, XBRLValuePrecisionFilter, XBRLVariableEqualityDefinition, XBRLVariableFact, XBRLVariableGeneral, XBRLVariableParameter, XBRLVariablePrecondition, XBRLVariableResource, XBRLVariableSetResource, XMLDocumentURI

      public interface XBRLValidation

  Incorporates all methods required for an object to perform XBRL validation. This is the generic validation as implemented in this API.

  There is one class XBRLValidationImpl that implements this interface that can be used as an internal instance inside the class being validated

  Author:
    Ignacio

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `XBRLValidation.Direction` when invalidate is called, invalidation can go up to the parent elements to the root element or down to the children elements.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `XBRLValidationReport` | `getValidationReport()` Access to the last stored validation report.
    `void` | `invalidate()` Invalidates the XBRLFact for XBRL validation.
    `boolean` | `invalidate(XBRLValidation.Direction dir)` Invalidates this object and the elements in the XML tree according with the parameter in dir This method is used by GUI tools that requires to reset validation before a manual validation cycle is started.
    `boolean` | `isOnValidation()` When validation is a recursive process, this function returns true if the object going to be validated is already under validation.
    `XBRLValidationReport` | `validate(XBRLPlugInProcessor proc)` Executes validation on the instance object and returns a validation report.

- - ### Method Detail

    - #### getValidationReport

          XBRLValidationReport getValidationReport()

      Access to the last stored validation report.
      Returns:
        XBRLValidationReport or null if the object has not been validated or no errors exists

    - #### validate

          XBRLValidationReport validate(XBRLPlugInProcessor proc)

      Executes validation on the instance object and returns a validation report.

      The validation result may be cached internally. A call to `invalidate(Direction)` clears the validation cache.

      Parameters:
        `proc` - the processor under which the object is going to be validated. Note the same object can be validated on multiple processors.
      Returns:
        the validation report or null if no errors.

    - #### invalidate

          void invalidate()

      Invalidates the XBRLFact for XBRL validation.
      Since:
        2.6.6

    - #### invalidate

          boolean invalidate(XBRLValidation.Direction dir)

      Invalidates this object and the elements in the XML tree according with the parameter in dir

      This method is used by GUI tools that requires to reset validation before a manual validation cycle is started.

      Parameters:
        `dir` - see the `XBRLValidation.Direction` enumeration for more information.
      Returns:
        true, if successful
      Since:
        2.6.6

    - #### isOnValidation

          boolean isOnValidation()

      When validation is a recursive process, this function returns true if the object going to be validated is already under validation. This prevents a recursive loop to enter the same validation component in an infinite loop.
      Returns:
        true if the document is under validation. Means, the validation has not finished.