Package net.sourceforge.javautil.classloader.source

Examples of net.sourceforge.javautil.classloader.source.CompositeClassSource


 
  /**
   * @return The composite class including the {@link #rootURL} and any {@link #jarFileURLS}
   */
  protected CompositeClassSource createClassSource () {
    CompositeClassSource ccl = new CompositeClassSource();
    ccl.add( ClassSourceUtil.getFor( this.rootURL ) );
    return ccl;
  }
View Full Code Here


        extension.isArePrimaryDependencies(), extension.getDescriptor(),
        wdd.toArray(new IClassPackageDependencyReference[wdd.size()])
      );
    }
   
    CompositeClassSource ccs = extension.getNonClassPackageDependencies();
    if (ccs != null) {
      this.classContext.getNonPackageSources().add(ccs);
      this.loadDynamicExtensions(ctx, pool, new CompositeClassSource(ccs, pool.getCompositeClassSource()));
    } else if (wdd != null && wdd.size() > 0) {
      this.loadDynamicExtensions(ctx, pool, pool.getCompositeClassSource());
    }
   
    return pool;
View Full Code Here

  public void main (EntryPointConfiguration config) throws Throwable {
    URL boot = EntryPoint.class.getClassLoader()
      .getResource("META-INF/net/sf/javautil/boot.jar");
   
    ClassContext context = null;
    CompositeClassSource mainSource = new CompositeClassSource();
    ClassSource additional = this.getAdditionalClassSources();
    if (additional != null) mainSource.add(additional);
   
    if (boot != null) {
      mainSource.add( VirtualDirectoryClassSource.createInMemoryJar("boot", "main", boot.openStream()) );
      context = new ClassContext(new StandardClassLoaderHeiarchy(Thread.currentThread().getContextClassLoader()), mainSource);
    } else {
     
      String main = this.getSetting(MAIN_JAR_PROPERTY);
      if (main == null)
        printHelp("No internal uber jar and no main jar specified -D" + MAIN_JAR_PROPERTY + "=''");
     
      File mainFile = new File(main);
      if (!mainFile.exists())
        printHelp("Specified main jar does not exist: " + mainFile);
     
      mainSource.add( new ZipClassSource(mainFile) );
      context = new ClassContext(new StandardClassLoaderHeiarchy(Thread.currentThread().getContextClassLoader()), mainSource);
    }
   
    Thread.currentThread().setContextClassLoader(context);
    this.setupDefaultURLStreamHandlerFactory(context);
   
    String mainClassName = null;
   
    if (mainClassName == null) {
      Manifest manifest = mainSource.getManifest();
      if (manifest == null)
        printHelp("No main jar manifest found in " + mainSource);
     
      mainClassName = manifest.getMainAttributes().getValue("Main-Class");
    }
View Full Code Here

    if (libdirs == null) return null;
   
    String[] libs = libdirs.split(";");
    if (libs.length == 1) return new LibDirectoryClassSource(new SystemDirectory(libs[0]), true);
    else {
      CompositeClassSource ccs = new CompositeClassSource();
      for (String lib : libs) ccs.add(new LibDirectoryClassSource(new SystemDirectory(lib), true));
      return ccs;
    }
  }
View Full Code Here

 
  public ClassContext (IClassLoaderHeiarchy heiarchy, IClassDependencyPool pool, ClassSource... sources) {
    super(new URL[0]);
    this.heiarchy = heiarchy;
    this.nonPackageResources = sources.length == 1 && sources[0] instanceof CompositeClassSource ?
        (CompositeClassSource) sources[0] : new CompositeClassSource(sources);
    this.setPool(pool);
   
    log.info("Class Loader Configuration: ");
    for (ClassSource src : this.nonPackageResources.getAllNonCompositeSources()) {
      log.info("   ----> " + src);
View Full Code Here

   * @return A reference to this object for chaining
   */
  public ClassContext setPool(IClassDependencyPool pool) {
    if (this.pool != null) throw new IllegalArgumentException("A pool has already been assigned to this class context");
   
    this.all = pool == null ? this.nonPackageResources : new CompositeClassSource(pool.getCompositeClassSource(), this.nonPackageResources);
    this.pool = pool;

    if (this.pool != null) {
      log.info(" ");
      for (IClassPackage pkg : this.pool.getPackages(true)) {
View Full Code Here

   * @return All class sources including non {@link IClassPackage} sources and {@link IClassPackage} sources
   */
  public CompositeClassSource getAllSources () {
    if (this.pool != null && this.pool.getLastModified() > this.modified) {
      this.modified = this.pool.getLastModified();
      this.all = new CompositeClassSource(this.pool.getCompositeClassSource(), this.nonPackageResources);
     
      log.info(" ");
      for (IClassPackage pkg : this.pool.getPackages(true)) {
        ClassSource src = pkg.getMainJarSource();
        log.info("   ----> " + pkg + "/" + src);
View Full Code Here

TOP

Related Classes of net.sourceforge.javautil.classloader.source.CompositeClassSource

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.