001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package dev.metaschema.oscal.lib.profile.resolver.support; 007 008import java.util.Set; 009 010import dev.metaschema.core.metapath.item.node.IRootAssemblyNodeItem; 011import dev.metaschema.oscal.lib.profile.resolver.support.IEntityItem.ItemType; 012import edu.umd.cs.findbugs.annotations.NonNull; 013 014/** 015 * A visitor that walks a catalog visiting controls and parameters. 016 */ 017public class ControlIndexingVisitor 018 extends AbstractIndexingVisitor<IIndexer, Void> { 019 020 public ControlIndexingVisitor(@NonNull Set<ItemType> itemTypesToIndex) { 021 super(itemTypesToIndex); 022 } 023 024 @SuppressWarnings("null") 025 @Override 026 protected IIndexer getIndexer(IIndexer state) { 027 return state; 028 } 029 030 @Override 031 protected Void newDefaultResult(IIndexer state) { 032 return null; 033 } 034 035 @Override 036 protected Void aggregateResults(Void first, Void second, IIndexer state) { 037 return null; 038 } 039 040 public void visitProfile(@NonNull IRootAssemblyNodeItem root, @NonNull IIndexer index) { 041 visitMetadata(root, index); 042 visitBackMatter(root, index); 043 } 044}