Class JavaClass::Dependencies::ClasspathNode
In: lib/javaclass/dependencies/classpath_node.rb
Parent: Node

A concrete Node which contains a Classpath and its dependencies. This models a Node as a component, maybe an Eclipse plugin, a Maven module or a library. Dependencies (Edge) contain all references imported by any class of this component.

Author:Peter Kofler

Methods

Public Class methods

[Source]

# File lib/javaclass/dependencies/classpath_node.rb, line 13
      def initialize(name, classpath)
        super(name, classpath.count)
        @classpath = classpath
      end

Public Instance methods

Iterate on a list of Edge dependencies this node has.

[Source]

# File lib/javaclass/dependencies/classpath_node.rb, line 19
      def outgoing_dependencies
        @classpath.values.each do |clazz|
          clazz.imported_3rd_party_types.each do |import|
            unless satisfies?(import) 
              yield Edge.new(clazz.to_classname, import)
            end
          end
        end
      end

Does this Node satisfy the dependency dependency_name .

[Source]

# File lib/javaclass/dependencies/classpath_node.rb, line 30
      def satisfies?(dependency_name)
        @classpath.includes?(dependency_name)
      end

[Validate]