Package org.jpox.store.rdbms.extent

Examples of org.jpox.store.rdbms.extent.ClassTableExtent


                            candidateTables.add(tbl);
                        }
                    }
                }
            }
            return new ClassTableExtent(om,
                (DatastoreClass[])candidateTables.toArray(new DatastoreClass[candidateTables.size()]),
                c, subclasses, cmd);
        }
        else
        {
            // "new-table", "superclass-table", "subclass-table"
            if (t instanceof ClassView)
            {
                return new ClassViewExtent(om, t, c, subclasses, cmd);
            }
            else if (t instanceof ClassTable)
            {
                return new ClassTableExtent(om, t, c, subclasses, cmd);
            }
            else
            {
                // No specific table, so either has no table, or multiple
                // This happens with the "subclass-table" inheritance strategy
                AbstractClassMetaData[] cmds = getClassesManagingTableForClass(cmd, om.getClassLoaderResolver());
                if (cmds != null)
                {
                    DatastoreClass[] tables = new DatastoreClass[cmds.length];
                    for (int i=0;i<cmds.length;i++)
                    {
                        tables[i] = getDatastoreClass(cmds[i].getFullClassName(), om.getClassLoaderResolver());
                    }
                    return new ClassTableExtent(om, tables, c, subclasses, cmd);
                }
                else
                {
                    throw new JPOXUserException("Attempt to create an Extent for class " + c.getName() + " which has MetaData, yet no table was found! This should be impossible");
                }
View Full Code Here

TOP

Related Classes of org.jpox.store.rdbms.extent.ClassTableExtent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.