Interface ICoreVisitor

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      boolean callElementClosures​(ElementAccess<? extends com.hello2morrow.sonargraph.core.model.element.NamedElement> elementAccess)
      Invoke closures for the specified element access.
      void onDirectory​(groovy.lang.Closure<?> closure)
      Call the given closure on directories.
      void onDirectoryFragment​(groovy.lang.Closure<?> closure)
      Call the given closure on directory fragments.
      void onExternal​(groovy.lang.Closure<?> closure)
      Call the given closure on external root nodes.
      void onExternalElementContainer​(groovy.lang.Closure<?> closure)
      Call the given closure on external element containers.
      void onField​(groovy.lang.Closure<?> closure)
      Call the given closure on fields.
      void onGenericProgrammingElement​(groovy.lang.Closure<?> closure)
      Call the given closure on any generic programming element.
      void onLogicalExternal​(groovy.lang.Closure<?> closure)
      Call the given closure on the logical external root nodes.
      void onLogicalModule​(groovy.lang.Closure<?> closure)
      Call the given closure on logical modules.
      void onLogicalModuleNamespace​(groovy.lang.Closure<?> closure)
      Call the given closure on logical namespaces with module scope.
      void onLogicalModuleProgrammingElement​(groovy.lang.Closure<?> closure)
      Call the given closure on logical programming elements with module scope.
      void onLogicalSystem​(groovy.lang.Closure<?> closure)
      Call the given closure on the logical system root.
      void onLogicalSystemNamespace​(groovy.lang.Closure<?> closure)
      Call the given closure on logical namespaces with system scope.
      void onLogicalSystemProgrammingElement​(groovy.lang.Closure<?> closure)
      Call the given closure on logical programming elements with system scope.
      void onMethod​(groovy.lang.Closure<?> closure)
      Call the given closure on member functions.
      void onModule​(groovy.lang.Closure<?> closure)
      Call the given closure on modules.
      void onNamespaceFragment​(groovy.lang.Closure<?> closure)
      Call the given closure on namespace fragment.
      void onProgrammingElement​(groovy.lang.Closure<?> closure)
      Call the given closure on any programming element.
      void onRootDirectory​(groovy.lang.Closure<?> closure)
      Call the given closure on root directories.
      void onRoutine​(groovy.lang.Closure<?> closure)
      Call the given closure on routines (functions and member functions).
      void onSourceFile​(groovy.lang.Closure<?> closure)
      Call the given closure for all source files.
      void onType​(groovy.lang.Closure<?> closure)
      Call the given closure on types.
      void removeAllClosures()
      Removes all closures added with the on**(Closure<?> closure) methods
      void visitChildren​(ElementAccess<? extends com.hello2morrow.sonargraph.core.model.element.NamedElement> elementAccess)
      Trigger the visit process for the children of the specified element access.
    • Method Detail

      • onField

        @ClosureParameterType(parameterType=IFieldAccess.class)
        void onField​(groovy.lang.Closure<?> closure)
        Call the given closure on fields.
      • onMethod

        @ClosureParameterType(parameterType=IMethodAccess.class)
        void onMethod​(groovy.lang.Closure<?> closure)
        Call the given closure on member functions.
      • onRoutine

        @ClosureParameterType(parameterType=IRoutineAccess.class)
        void onRoutine​(groovy.lang.Closure<?> closure)
        Call the given closure on routines (functions and member functions).
      • onType

        @ClosureParameterType(parameterType=ITypeAccess.class)
        void onType​(groovy.lang.Closure<?> closure)
        Call the given closure on types.
      • onProgrammingElement

        @ClosureParameterType(parameterType=IProgrammingElementAccess.class)
        void onProgrammingElement​(groovy.lang.Closure<?> closure)
        Call the given closure on any programming element.
      • onGenericProgrammingElement

        @ClosureParameterType(parameterType=IGenericProgrammingElementAccess.class)
        void onGenericProgrammingElement​(groovy.lang.Closure<?> closure)
        Call the given closure on any generic programming element.
      • onSourceFile

        @ClosureParameterType(parameterType=ISourceFileAccess.class)
        void onSourceFile​(groovy.lang.Closure<?> closure)
        Call the given closure for all source files.
      • onDirectory

        @ClosureParameterType(parameterType=IDirectoryAccess.class)
        void onDirectory​(groovy.lang.Closure<?> closure)
        Call the given closure on directories.
      • onDirectoryFragment

        @ClosureParameterType(parameterType=DirectoryFragmentAccess.class)
        void onDirectoryFragment​(groovy.lang.Closure<?> closure)
        Call the given closure on directory fragments.
      • onRootDirectory

        @ClosureParameterType(parameterType=IDirectoryAccess.class)
        void onRootDirectory​(groovy.lang.Closure<?> closure)
        Call the given closure on root directories.
      • onModule

        @ClosureParameterType(parameterType=IModuleAccess.class)
        void onModule​(groovy.lang.Closure<?> closure)
        Call the given closure on modules.
      • onExternal

        @ClosureParameterType(parameterType=IExternalAccess.class)
        void onExternal​(groovy.lang.Closure<?> closure)
        Call the given closure on external root nodes.
      • onExternalElementContainer

        @ClosureParameterType(parameterType=ExternalElementContainerAccess.class)
        void onExternalElementContainer​(groovy.lang.Closure<?> closure)
        Call the given closure on external element containers.
      • onNamespaceFragment

        @ClosureParameterType(parameterType=INamespaceFragmentAccess.class)
        void onNamespaceFragment​(groovy.lang.Closure<?> closure)
        Call the given closure on namespace fragment.
      • onLogicalModuleNamespace

        @ClosureParameterType(parameterType=ILogicalNamespaceAccess.class)
        void onLogicalModuleNamespace​(groovy.lang.Closure<?> closure)
        Call the given closure on logical namespaces with module scope.
      • onLogicalSystemNamespace

        @ClosureParameterType(parameterType=ILogicalNamespaceAccess.class)
        void onLogicalSystemNamespace​(groovy.lang.Closure<?> closure)
        Call the given closure on logical namespaces with system scope.
      • onLogicalSystemProgrammingElement

        @ClosureParameterType(parameterType=ILogicalProgrammingElementAccess.class)
        void onLogicalSystemProgrammingElement​(groovy.lang.Closure<?> closure)
        Call the given closure on logical programming elements with system scope.
      • onLogicalModuleProgrammingElement

        @ClosureParameterType(parameterType=ILogicalProgrammingElementAccess.class)
        void onLogicalModuleProgrammingElement​(groovy.lang.Closure<?> closure)
        Call the given closure on logical programming elements with module scope.
      • onLogicalModule

        @ClosureParameterType(parameterType=ILogicalModuleAccess.class)
        void onLogicalModule​(groovy.lang.Closure<?> closure)
        Call the given closure on logical modules.
      • onLogicalSystem

        @ClosureParameterType(parameterType=ILogicalSystemAccess.class)
        void onLogicalSystem​(groovy.lang.Closure<?> closure)
        Call the given closure on the logical system root.
      • onLogicalExternal

        @ClosureParameterType(parameterType=ILogicalExternalAccess.class)
        void onLogicalExternal​(groovy.lang.Closure<?> closure)
        Call the given closure on the logical external root nodes.
      • callElementClosures

        boolean callElementClosures​(ElementAccess<? extends com.hello2morrow.sonargraph.core.model.element.NamedElement> elementAccess)
        Invoke closures for the specified element access.
        Parameters:
        elementAccess - the element access for which to invoke the corresponding closures.
        Returns:
        'true' if at least one matching closure has been executed and 'false' otherwise.
      • visitChildren

        void visitChildren​(ElementAccess<? extends com.hello2morrow.sonargraph.core.model.element.NamedElement> elementAccess)
        Trigger the visit process for the children of the specified element access.
        Parameters:
        elementAccess - the element access.
      • removeAllClosures

        void removeAllClosures()
        Removes all closures added with the on**(Closure<?> closure) methods