PackageMetaData pmd = filemd.getPackage(i);
// Register all classes into the respective lookup maps
for (int j = 0; j < pmd.getNoOfClasses(); j++)
{
ClassMetaData cmd = pmd.getClass(j);
if (classesWithoutPersistenceInfo.contains(cmd.getFullClassName()))
{
// Remove from unknown classes now that we have some metadata
classesWithoutPersistenceInfo.remove(cmd.getFullClassName());
}
if (cmd.getEntityName() != null)
{
// Register the metadata under the entity name
classMetaDataByEntityName.put(cmd.getEntityName(), cmd);
}
if (cmd.getInheritanceMetaData() != null)
{
// Register the metadata under the discriminator name
DiscriminatorMetaData dismd = cmd.getInheritanceMetaData().getDiscriminatorMetaData();
if (dismd != null)
{
if (dismd.getStrategy() == DiscriminatorStrategy.CLASS_NAME)
{
classMetaDataByDiscriminatorName.put(cmd.getFullClassName(), cmd);
}
else if (dismd.getStrategy() == DiscriminatorStrategy.VALUE_MAP)
{
classMetaDataByDiscriminatorName.put(dismd.getValue(), cmd);
}
}
}
registerMetaDataForClass(cmd.getFullClassName(), cmd);
if (cmd.getListeners() != null)
{
List classListeners = cmd.getListeners();
for (int k=0; k<classListeners.size(); k++)
{
EventListenerMetaData elmd = (EventListenerMetaData) classListeners.get(k);