class JavaClass::Dependencies::ClasspathNode

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

Public Class Methods

new(name, classpath) click to toggle source
Calls superclass method
# File lib/javaclass/dependencies/classpath_node.rb, line 13
def initialize(name, classpath)
  super(name, classpath.count)
  @classpath = classpath
end

Public Instance Methods

outgoing_dependencies() { |edge| ... } click to toggle source

Iterate on a list of Edge dependencies this node has.

# 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
satisfies?(dependency_name) click to toggle source

Does this Node satisfy the dependency dependency_name .

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