@Override public void processKnowIt(KnowIt knowIt) { defaultProcess(knowIt); this.addTypeData(knowIt.getTypes()); knowIt .getBinding() .process( new BindingAdapter() { @Override public void processResource(KnowItBindingResource constant) { searchData.add(constant.getName()); searchData.add(constant.getTag()); searchData.add(constant.getScriptValue()); searchData.add(constant.getTemplateID()); addTypeData(constant.getTypes()); } @Override public void processFunction(KnowItBindingFunction function) { function.getValue().process(SearchDataCompiler.this); } @Override public void processReference(KnowItBindingReference reference) { reference.getValue().process(SearchDataCompiler.this); } @Override public void processStoryPoint(KnowItBindingStoryPoint storyPoint) { storyPoint.getValue().process(SearchDataCompiler.this); } }); final DescribeIt describeIt; describeIt = knowIt.getLibrary().getDescribeIt(knowIt); if (describeIt != null) { for (ScriptIt scriptIt : describeIt.getScriptIts()) { scriptIt.process(this); } } }
@Override public void processScriptIt(ScriptIt scriptIt) { defaultProcess(scriptIt); for (KnowIt parameter : scriptIt.getParameters()) { KnowItBinding binding = parameter.getBinding(); if (binding.isBound()) // allow searching of bound values this.searchData.add(binding.getScriptValue()); parameter.process(this); } for (KnowIt implicit : scriptIt.getImplicits()) { implicit.process(this); } // searchable by slot for (CodeBlock codeBlock : scriptIt.getCodeBlocks()) { codeBlock.process(this); } this.addTypeData(scriptIt.getTypes()); }