costin 2002/12/27 10:01:14
Modified: src/main/org/apache/tools/ant IntrospectionHelper.java
Log:
Add a new method to get an IntrospectionHelper.
If one already exists, it'll be returned.
The method will register itself for projectEnd notifications.
( this avoids multiple IH and listeners )
Revision Changes Path
1.45 +24 -0
jakarta-ant/src/main/org/apache/tools/ant/IntrospectionHelper.java
Index: IntrospectionHelper.java
===================================================================
RCS file:
/home/cvs/jakarta-ant/src/main/org/apache/tools/ant/IntrospectionHelper.java,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- IntrospectionHelper.java 25 Jul 2002 15:21:01 -0000 1.44
+++ IntrospectionHelper.java 27 Dec 2002 18:01:14 -0000 1.45
@@ -386,6 +386,30 @@
}
/**
+ * Returns a helper for the given class, either from the cache
+ * or by creating a new instance.
+ *
+ * The method will make sure the helper will be cleaned up at the end of
+ * the project, and only one instance will be created for each class.
+ *
+ * @param c The class for which a helper is required.
+ * Must not be <code>null</code>.
+ *
+ * @return a helper for the specified class
+ */
+ public static synchronized IntrospectionHelper getHelper(Project p,
Class c)
+ {
+ IntrospectionHelper ih = (IntrospectionHelper) helpers.get(c);
+ if (ih == null) {
+ ih = new IntrospectionHelper(c);
+ helpers.put(c, ih);
+ // Cleanup at end of project
+ p.addBuildListener(ih);
+ }
+ return ih;
+ }
+
+ /**
* Sets the named attribute in the given element, which is part of the
* given project.
*
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>