com.vaadin.terminal.gwt.widgetsetutils.
Class ClassPathExplorer
java.lang.Object
com.vaadin.terminal.gwt.widgetsetutils.ClassPathExplorer
- extends Object
public class ClassPathExplorer
Utility class to collect widgetset related information from classpath. Utility will seek all directories from classpaths, and jar files having "Vaadin-Widgetsets" key in their manifest file.
Used by WidgetMapGenerator and ide tools to implement some monkey coding for you.
Developer notice: If you end up reading this comment, I guess you have faced
a sluggish performance of widget compilation or unreliable detection of
components in your classpaths. The thing you might be able to do is to use
annotation processing tool like apt to generate the needed information. Then
either use that information in WidgetMapGenerator
or create the
appropriate monkey code for gwt directly in annotation processor and get rid
of WidgetMapGenerator
. Using annotation processor might be a good
idea when dropping Java 1.5 support (integrated to javac in 6).
Method Summary | |
---|---|
static Map<String,URL> |
getAvailableWidgetSets()
Finds the names and locations of widgetsets available on the class path. |
static Collection<Class<? extends AcceptCriterion>> |
getCriterion()
Finds all accept criteria having client side counterparts (classes with the ClientCriterion annotation). |
static URL |
getDefaultSourceDirectory()
Find and return the default source directory where to create new widgetsets. |
static Collection<Class<? extends Paintable>> |
getPaintablesHavingWidgetAnnotation()
Finds server side widgets with ClientWidget annotation on the
class path (entries that can contain widgets/widgetsets - see
getRawClasspathEntries() ). |
static void |
main(String[] args)
Test method for helper tool |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
getPaintablesHavingWidgetAnnotation
public static Collection<Class<? extends Paintable>> getPaintablesHavingWidgetAnnotation()
- Returns:
- a collection of
Paintable
classes
Finds server side widgets with ClientWidget
annotation on the
class path (entries that can contain widgets/widgetsets - see
getRawClasspathEntries()
).
As a side effect, also accept criteria are searched under the same class
path entries and added into the acceptCriterion collection.
getCriterion
public static Collection<Class<? extends AcceptCriterion>> getCriterion()
- Returns:
- Collection of AcceptCriterion classes
Finds all accept criteria having client side counterparts (classes with
the ClientCriterion
annotation).
getAvailableWidgetSets
public static Map<String,URL> getAvailableWidgetSets()
- Returns:
- map from widgetset classname to widgetset location URL
Finds the names and locations of widgetsets available on the class path.
getDefaultSourceDirectory
public static URL getDefaultSourceDirectory()
- Returns:
- URL
Find and return the default source directory where to create new widgetsets. Return the first directory (not a JAR file etc.) on the classpath by default. TODO this could be done better...
main
public static void main(String[] args)
Test method for helper tool