org.kohsuke.stapler.lang
Class Klass<C>

java.lang.Object
  extended by org.kohsuke.stapler.lang.Klass<C>

public class Klass<C>
extends Object

Abstraction of class-like object, agnostic to languages.

To support other JVM languages that use their own specific types to represent a class (such as JRuby and Jython), we now use this object instead of Class. This allows us to reuse much of the logic of class traversal/resource lookup across different languages. This is a convenient tuple so that we can pass around a single argument instead of two.

Author:
Kohsuke Kawaguchi

Field Summary
 C clazz
           
 KlassNavigator<C> navigator
           
 
Constructor Summary
Klass(C clazz, KlassNavigator<C> navigator)
           
 
Method Summary
 boolean equals(Object o)
           
 Iterable<Klass<?>> getAncestors()
           
 URL getResource(String resourceName)
           
 Klass<?> getSuperClass()
           
 int hashCode()
           
static Klass<Class> java(Class c)
          Creates Klass from a Java Class.
 Class toJavaClass()
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

clazz

public final C clazz

navigator

public final KlassNavigator<C> navigator
Constructor Detail

Klass

public Klass(C clazz,
             KlassNavigator<C> navigator)
Method Detail

getResource

public URL getResource(String resourceName)

getAncestors

public Iterable<Klass<?>> getAncestors()

getSuperClass

public Klass<?> getSuperClass()

toJavaClass

public Class toJavaClass()

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object

java

public static Klass<Class> java(Class c)
Creates Klass from a Java Class.



Copyright © 2013. All Rights Reserved.