DPML
DPML Metro Component Task
HomeUtilitiesStationMetro
Classpath Element
Description

A <classpath> element defines a classloader chain based on the three classloader categories - PUBLIC, PROTECTED and PRIVATE. Typically a classloader chain will be constructed relative to a supplied anchor classloader. The anchor will be used as the parent to a PUBLIC classloader which in-turn is used as the parent for the creatio of a protected (or SPI) classloader. The protected classloader is used as the parent to the PRIVATE implemention classloader.

Nested Elements
public Declaration of the collection of resource uris that collectively define the public classloader. The <public> element is optional and may contain 0..n nested <uri> elements.
protected Declaration of the collection of resource uris that collectively define the protected classloader which is itself defined using the public classloader as its parent. The <protected>element is optional and may contain 0..n nested <uri> elements.
private Declaration of the collection of resource uris that collectively define the private implementation classloader which is itself defined using the protected classloader as its parent. The <private>element is optional and may contain 0..n nested <uri> elements.
Examples
<part xmlns="dpml:part">

  <info title="DPML Depot Toolkit">
    <description>Antlib supporting Depot-based build automation.</description>
  </info>
  
  <component xmlns="dpml:metro" name="builder" class="dpml.tools.impl.StandardBuilder"/>
  
  <classpath>
    <private>
      <uri>artifact:jar:dpml/transit/dpml-transit-main#2.0.0</uri>
      <uri>artifact:jar:dpml/metro/dpml-metro-part#2.0.0</uri>
      <uri>artifact:jar:dpml/depot/dpml-depot-library#2.0.0</uri>
      <uri>artifact:jar:dpml/util/dpml-util-cli#2.0.0</uri>
      <uri>artifact:jar:dpml/depot/dpml-depot-build#2.0.0</uri>
      <uri>artifact:jar:org/apache/ant/ant-launcher#1.7.0</uri>
      <uri>artifact:jar:org/apache/ant/ant#1.7.0</uri>
      <uri>artifact:jar:junit/junit#4.2</uri>
      <uri>artifact:jar:org/apache/ant/ant-junit#1.7.0</uri>
      <uri>artifact:jar:org/apache/ant/ant-trax#1.7.0</uri>
      <uri>artifact:jar:dpml/depot/dpml-depot-builder#2.0.0</uri>
    </private>
  </classpath>
</part>