/** * Perform appengine-specific validation on the provided meta data. Also generates cached * information that is needed by persistence. * * @param cmd The metadata to validate. */ public void validateMetaDataForClass(AbstractClassMetaData cmd) { // Only validate each meta data once if (validatedClasses.add(cmd.getFullClassName())) { if (getBooleanProperty(VALIDATE_METADATA, true)) { // Only do if the persistence property is not set to false metadataValidator.validate(cmd); } AbstractMemberMetaData parentPkMmd = MetaDataUtils.getParentPkMemberMetaDataForClass( cmd, getMetaDataManager(), getNucleusContext().getClassLoaderResolver(cmd.getClass().getClassLoader())); if (parentPkMmd != null) { parentMemberMetaDataByClass.put(cmd.getFullClassName(), parentPkMmd); } } }