OK with this too.
David Scott <[EMAIL PROTECTED]>
Sent by: [EMAIL PROTECTED]
06/21/2006 11:50 PM
To: [email protected]
cc: (bcc: Mark Schreiber/GP/Novartis)
Subject: [Biojava-l] proposal: application subclassing of biosql
objects
install a static Map in RichObjectFactory that the application can use
to map application subclasses of the biosql classes contained in the
RichObjectFactory code - applications would set up the map via:
public final static void setApplicationClass(final Class
theBioJavaClass, final Class theApplicationClass)
RichObjectFactory would retrieve the Map via:
private final static class getApplicationClass(final Class
theBioJavaClass);
RichObjectFactory would substitute the application class for the biojava
class in getObject:
public static synchronized Object getObject(final Class clazz, Object[]
params) {
List paramsList = Arrays.asList(params);
final Class applicationClass = getApplicationClass(clazz);
....
.... builder.buildObject(applicationClass, paramsList);
BioSqlRichObjectBuilder would recognize the subclass in buildObject by
changing the if statements from identity:
public Object buildObject(Clazz clazz, List paramsList) {
if (clazz == SimpleNamespace.class) {
...
to assignable:
public Object buildObject(Clazz clazz, List paramsList) {
if (SimpleNamespace.class.isAssignableFrom(clazz)) {
...
the map size will be short - a linear search might be faster than a hash.
_______________________________________________
Biojava-l mailing list - [email protected]
http://lists.open-bio.org/mailman/listinfo/biojava-l
_______________________________________________
Biojava-l mailing list - [email protected]
http://lists.open-bio.org/mailman/listinfo/biojava-l