alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (many_loader1.java.foo)

This example Java source code file (many_loader1.java.foo) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

iface, you_have_been_p0wned

The many_loader1.java.foo Java example source code

// A simple class to extend an abstract class and get loaded with different
// loaders.  This class is loaded via LOADER1.  A similar named class will
// be loaded via LOADER2.
public class many_loader extends bug_21227 {
  public You_Have_Been_P0wned _p0wnee;

  // I need to compile (hence call in a loop) a function which returns a value
  // loaded from classloader other than the system one.  The point of this
  // call is to give me an abstract 'hook' into a function loaded with a
  // foreign loader.

  // The original 'make(boolean)' returns a bug_21227.  The VM will inject a
  // synthetic method to up-cast the returned 'from_loader1' into a
  // 'bug_21227'.
  public many_loader[] make( IFace iface ) { 
    // This function needs to return a value known to be loaded from LOADER2.
    // Since I need to use a yet different loader, I need to make an unknown
    // foreign call.  In this case I'll be using an interface to make the
    // unknown call, with but a single implementor so the compiler can do the
    // upcast statically.
    return iface==null ? null : iface.gen(); 
  }
}

Other Java examples (source code examples)

Here is a short list of links related to this Java many_loader1.java.foo source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.