Interface ICatalogVisitor<T,R>

Type Parameters:
T - the type of the context object used to pass calling context information
R - the type of the result for visiting a collection of groups and/or controls
All Known Subinterfaces:
IReferenceVisitor<T>
All Known Implementing Classes:
AbstractCatalogEntityVisitor, AbstractCatalogVisitor, AbstractIndexingVisitor, ControlIndexingVisitor, ControlSelectionVisitor, FilterNonSelectedVisitor, FlatteningStructuringVisitor, ReferenceCountingVisitor

public interface ICatalogVisitor<T,R>
Used to visit a catalog containing groups and controls.
  • Method Summary

    Modifier and Type
    Method
    Description
    default R
    visitControl(gov.nist.secauto.metaschema.core.metapath.item.node.IAssemblyNodeItem control, R childResult, T state)
    Called when visiting a control.
    default R
    visitGroup(gov.nist.secauto.metaschema.core.metapath.item.node.IAssemblyNodeItem group, R childResult, T state)
    Called when visiting a group.
  • Method Details

    • visitGroup

      default R visitGroup(@NonNull gov.nist.secauto.metaschema.core.metapath.item.node.IAssemblyNodeItem group, R childResult, T state)
      Called when visiting a group.

      Can be overridden by classes extending this interface to support processing of the visited object.

      Parameters:
      group - the Metapath item for the group
      childResult - the result of evaluating the group's children
      state - the calling context information
      Returns:
      a meaningful result of the given type
    • visitControl

      default R visitControl(@NonNull gov.nist.secauto.metaschema.core.metapath.item.node.IAssemblyNodeItem control, R childResult, T state)
      Called when visiting a control.

      Can be overridden by classes extending this interface to support processing of the visited object.

      Parameters:
      control - the Metapath item for the control
      childResult - the result of evaluating the control's children
      state - the calling context information
      Returns:
      a meaningful result of the given type