You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-dev@db.apache.org by br...@apache.org on 2003/11/01 21:44:08 UTC
cvs commit: db-ojb/src/java/org/apache/ojb/broker/metadata ClassDescriptor.java
brj 2003/11/01 12:44:08
Modified: src/java/org/apache/ojb/broker/metadata ClassDescriptor.java
Log:
new methods getAllConcreteExtentClasses, getAllExtentClasses
to return extents of the hierarchy
Revision Changes Path
1.69 +50 -14 db-ojb/src/java/org/apache/ojb/broker/metadata/ClassDescriptor.java
Index: ClassDescriptor.java
===================================================================
RCS file: /home/cvs/db-ojb/src/java/org/apache/ojb/broker/metadata/ClassDescriptor.java,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- ClassDescriptor.java 25 Oct 2003 23:59:26 -0000 1.68
+++ ClassDescriptor.java 1 Nov 2003 20:44:08 -0000 1.69
@@ -58,17 +58,9 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
+import java.lang.reflect.Proxy;
import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Vector;
+import java.util.*;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
@@ -82,9 +74,6 @@
import org.apache.ojb.broker.util.configuration.Configurator;
import org.apache.ojb.broker.util.configuration.impl.OjbConfigurator;
import org.apache.ojb.broker.util.logging.LoggerFactory;
-
-//#ifdef JDK13
-import java.lang.reflect.Proxy;
//#else
/*
import com.develop.java.lang.reflect.Proxy;
@@ -594,6 +583,53 @@
return extentClasses;
}
+
+ /**
+ * Return all concrete extent classes of the hierarchy recursively
+ * @return Collection
+ */
+ public Collection getAllConcreteExtentClasses()
+ {
+ Set result = new HashSet();
+ Vector extents = getExtentClasses();
+
+ for (int i = 0; i < extents.size(); i++)
+ {
+ Class ext = (Class)extents.elementAt(i);
+ ClassDescriptor extCld = getRepository().getDescriptorFor(ext);
+
+ if (!extCld.isInterface())
+ {
+ result.add(ext);
+ }
+ result.addAll(extCld.getAllConcreteExtentClasses());
+ }
+
+ return result;
+ }
+
+ /**
+ * Return all extent classes of the hierarchy recursively
+ * @return Collection
+ */
+ public Collection getAllExtentClasses()
+ {
+ Set result = new HashSet();
+ Vector extents = getExtentClasses();
+
+ for (int i = 0; i < extents.size(); i++)
+ {
+ Class ext = (Class)extents.elementAt(i);
+ ClassDescriptor extCld = getRepository().getDescriptorFor(ext);
+
+ result.add(ext);
+ result.addAll(extCld.getAllExtentClasses());
+ }
+
+ return result;
+ }
+
+
/**
* Return the names of all classes in this extent
* @return java.util.Vector a Vector containing the fully qualified names
---------------------------------------------------------------------
To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org
For additional commands, e-mail: ojb-dev-help@db.apache.org