Class ProgrammingElementAccess

    • Constructor Detail

      • ProgrammingElementAccess

        public ProgrammingElementAccess​(com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement element)
        Internal use only
    • Method Detail

      • isDefinedInEnclosingElement

        public final boolean isDefinedInEnclosingElement()
        Return false for methods, that are called on the class, but are defined in a base class or base interface.
        Specified by:
        isDefinedInEnclosingElement in interface IProgrammingElementAccess
        Returns:
        see above
      • getMetricLevel

        public java.lang.Object getMetricLevel()
        Description copied from class: ElementAccess
        Internal use only
        Overrides:
        getMetricLevel in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
      • getOutgoingDependencies

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependencies​(Aggregator aggr,
                                                                                         boolean excludeSelf,
                                                                                         boolean excludeExternals,
                                                                                         boolean excludeExcluded,
                                                                                         IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element.
        Specified by:
        getOutgoingDependencies in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        excludeExternals - If true, dependencies to external objects are excluded
        excludeExcluded - If true, dependencies to excluded objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getOutgoingDependencies

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependencies​(Aggregator aggr,
                                                                                         boolean excludeSelf,
                                                                                         boolean excludeExternals,
                                                                                         IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element, excluding excluded elements.
        Specified by:
        getOutgoingDependencies in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        excludeExternals - If true, dependencies to external objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getOutgoingDependencies

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependencies​(Aggregator aggr,
                                                                                         boolean excludeSelf,
                                                                                         IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element, including external elements, excluding excluded elements.
        Specified by:
        getOutgoingDependencies in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getIncomingDependencies

        public final java.util.List<IAggregatedDependencyAccess> getIncomingDependencies​(Aggregator aggr,
                                                                                         boolean excludeSelf,
                                                                                         boolean excludeExcluded,
                                                                                         IDependencyKind... types)
        Get a list of aggregated incoming dependencies to this programming element.
        Specified by:
        getIncomingDependencies in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies from this element and its children are excluded
        excludeExcluded - If true, dependencies from excluded objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated incoming dependencies
      • getIncomingDependencies

        public final java.util.List<IAggregatedDependencyAccess> getIncomingDependencies​(Aggregator aggr,
                                                                                         boolean excludeSelf,
                                                                                         IDependencyKind... types)
        Get a list of aggregated incoming dependencies to this programming element, excluding excluded elements.
        Specified by:
        getIncomingDependencies in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies from this element and its children are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated incoming dependencies
      • getOutgoingDependenciesRecursively

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependenciesRecursively​(Aggregator aggr,
                                                                                                    boolean excludeSelf,
                                                                                                    boolean excludeExternals,
                                                                                                    boolean excludeExcluded,
                                                                                                    IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element and its direct and indirect children.
        Specified by:
        getOutgoingDependenciesRecursively in interface INamedElementAccess
        Overrides:
        getOutgoingDependenciesRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        excludeExternals - If true, dependencies to external objects are excluded
        excludeExcluded - If true, dependencies to excluded objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getOutgoingDependenciesRecursively

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependenciesRecursively​(Aggregator aggr,
                                                                                                    boolean excludeSelf,
                                                                                                    boolean excludeExternals,
                                                                                                    IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element and its direct and indirect children, excluding excluded elements.
        Specified by:
        getOutgoingDependenciesRecursively in interface INamedElementAccess
        Overrides:
        getOutgoingDependenciesRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        excludeExternals - If true, dependencies to external objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getOutgoingDependenciesRecursively

        public final java.util.List<IAggregatedDependencyAccess> getOutgoingDependenciesRecursively​(Aggregator aggr,
                                                                                                    boolean excludeSelf,
                                                                                                    IDependencyKind... types)
        Get a list of aggregated outgoing dependencies from this programming element and its direct and indirect children, including external elements, excluding excluded elements.
        Specified by:
        getOutgoingDependenciesRecursively in interface INamedElementAccess
        Overrides:
        getOutgoingDependenciesRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies to this element and its children are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getIncomingDependenciesRecursively

        public final java.util.List<IAggregatedDependencyAccess> getIncomingDependenciesRecursively​(Aggregator aggr,
                                                                                                    boolean excludeSelf,
                                                                                                    boolean excludeExcluded,
                                                                                                    IDependencyKind... types)
        Get a list of aggregated incoming dependencies to this programming element and its direct and indirect children.
        Specified by:
        getIncomingDependenciesRecursively in interface INamedElementAccess
        Overrides:
        getIncomingDependenciesRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies from this element and its children are excluded
        excludeExcluded - If true, dependencies from excluded objects are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getIncomingDependenciesRecursively

        public final java.util.List<IAggregatedDependencyAccess> getIncomingDependenciesRecursively​(Aggregator aggr,
                                                                                                    boolean excludeSelf,
                                                                                                    IDependencyKind... types)
        Get a list of aggregated incoming dependencies to this programming element and its direct and indirect children, excluding excluded elements.
        Specified by:
        getIncomingDependenciesRecursively in interface INamedElementAccess
        Overrides:
        getIncomingDependenciesRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, dependencies from this element and its children are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of aggregated outgoing dependencies
      • getReferencedElements

        public final java.util.List<INamedElementAccess> getReferencedElements​(Aggregator aggr,
                                                                               boolean excludeSelf,
                                                                               boolean excludeExternals,
                                                                               boolean excludeExcluded,
                                                                               IDependencyKind... types)
        Get a list of elements referenced from this programming element via dependencies.
        Specified by:
        getReferencedElements in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExternals - If true, external elements are excluded
        excludeExcluded - If true, excluded elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencedElements

        public final java.util.List<INamedElementAccess> getReferencedElements​(Aggregator aggr,
                                                                               boolean excludeSelf,
                                                                               boolean excludeExternals,
                                                                               IDependencyKind... types)
        Get a list of elements referenced from this programming element via dependencies, excluding excluded elements.
        Specified by:
        getReferencedElements in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExternals - If true, external elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencedElements

        public final java.util.List<INamedElementAccess> getReferencedElements​(Aggregator aggr,
                                                                               boolean excludeSelf,
                                                                               IDependencyKind... types)
        Get a list of elements referenced from this programming element via dependencies, including external elements, excluding excluded elements.
        Specified by:
        getReferencedElements in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencingElements

        public final java.util.List<INamedElementAccess> getReferencingElements​(Aggregator aggr,
                                                                                boolean excludeSelf,
                                                                                boolean excludeExcluded,
                                                                                IDependencyKind... types)
        Get a list of elements referencing this programming element via dependencies.
        Specified by:
        getReferencingElements in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExcluded - If true, excluded elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referencing this element
      • getReferencingElements

        public final java.util.List<INamedElementAccess> getReferencingElements​(Aggregator aggr,
                                                                                boolean excludeSelf,
                                                                                IDependencyKind... types)
        Get a list of elements referencing this programming element via dependencies, excluding excluded elements.
        Specified by:
        getReferencingElements in interface IProgrammingElementAccess
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referencing this element
      • getReferencedElementsRecursively

        public final java.util.List<INamedElementAccess> getReferencedElementsRecursively​(Aggregator aggr,
                                                                                          boolean excludeSelf,
                                                                                          boolean excludeExternals,
                                                                                          boolean excludeExcluded,
                                                                                          IDependencyKind... types)
        Get a list of elements referenced from this programming element and its direct and indirect children via dependencies.
        Specified by:
        getReferencedElementsRecursively in interface INamedElementAccess
        Overrides:
        getReferencedElementsRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExternals - If true, external elements are excluded
        excludeExcluded - If true, excluded elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencedElementsRecursively

        public final java.util.List<INamedElementAccess> getReferencedElementsRecursively​(Aggregator aggr,
                                                                                          boolean excludeSelf,
                                                                                          boolean excludeExternals,
                                                                                          IDependencyKind... types)
        Get a list of elements referenced from this programming element and its direct and indirect children via dependencies, excluding excluded elements.
        Specified by:
        getReferencedElementsRecursively in interface INamedElementAccess
        Overrides:
        getReferencedElementsRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExternals - If true, external elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencedElementsRecursively

        public final java.util.List<INamedElementAccess> getReferencedElementsRecursively​(Aggregator aggr,
                                                                                          boolean excludeSelf,
                                                                                          IDependencyKind... types)
        Get a list of elements referenced from this programming element and its direct and indirect children via dependencies, including external elements, excluding excluded elements.
        Specified by:
        getReferencedElementsRecursively in interface INamedElementAccess
        Overrides:
        getReferencedElementsRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referenced from this element
      • getReferencingElementsRecursively

        public final java.util.List<INamedElementAccess> getReferencingElementsRecursively​(Aggregator aggr,
                                                                                           boolean excludeSelf,
                                                                                           boolean excludeExcluded,
                                                                                           IDependencyKind... types)
        Get a list of elements referencing this programming element and its direct and indirect children via dependencies.
        Specified by:
        getReferencingElementsRecursively in interface INamedElementAccess
        Overrides:
        getReferencingElementsRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        excludeExcluded - If true, excluded elements are excluded
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referencing this element
      • getReferencingElementsRecursively

        public final java.util.List<INamedElementAccess> getReferencingElementsRecursively​(Aggregator aggr,
                                                                                           boolean excludeSelf,
                                                                                           IDependencyKind... types)
        Get a list of elements referencing this programming element and its direct and indirect children via dependencies, excluding excluded elements.
        Specified by:
        getReferencingElementsRecursively in interface INamedElementAccess
        Overrides:
        getReferencingElementsRecursively in class ElementAccess<com.hello2morrow.sonargraph.core.model.programming.ProgrammingElement>
        Parameters:
        aggr - The desired aggregation level
        excludeSelf - If true, this element and its children are excluded from the result
        types - List of dependency types, if empty return all dependencies
        Returns:
        A list of elements referencing this element