private List<AbstractMemberMetaData> findAllFields() { List<AbstractMemberMetaData> allFields = new ArrayList<AbstractMemberMetaData>(); // Load up fields from this class AbstractMemberMetaData[] membersInThisClass = cmd.getManagedMembers(); if (membersInThisClass != null) allFields.addAll(Arrays.asList(membersInThisClass)); // Load up fields from MappedSuperclasses in class hierarchy AbstractClassMetaData superClassMD = cmd.getSuperAbstractClassMetaData(); while (superClassMD != null && superClassMD.getInheritanceMetaData().getStrategy() == InheritanceStrategy.SUBCLASS_TABLE) { AbstractMemberMetaData[] membersInSuperClass = superClassMD.getManagedMembers(); if (membersInSuperClass != null) allFields.addAll(Arrays.asList(membersInSuperClass)); superClassMD = superClassMD.getSuperAbstractClassMetaData(); } return allFields; }
private List<AbstractMemberMetaData> findAllFields() { List<AbstractMemberMetaData> allFields = new ArrayList<AbstractMemberMetaData>(); // Load up fields from this class AbstractMemberMetaData[] membersInThisClass = cmd.getManagedMembers(); if (membersInThisClass != null) allFields.addAll(Arrays.asList(membersInThisClass)); // Load up fields from MappedSuperclasses in class hierarchy AbstractClassMetaData superClassMD = cmd.getSuperAbstractClassMetaData(); while (superClassMD != null && superClassMD.getInheritanceMetaData().getStrategy() == InheritanceStrategy.SUBCLASS_TABLE) { AbstractMemberMetaData[] membersInSuperClass = superClassMD.getManagedMembers(); if (membersInSuperClass != null) allFields.addAll(Arrays.asList(membersInSuperClass)); superClassMD = superClassMD.getSuperAbstractClassMetaData(); } return allFields; }
/** * Create getters and setters methods. * @param acmd AbstractClassMetaData */ protected void createPropertyMethods(AbstractClassMetaData acmd) { if (acmd == null) { return; } AbstractMemberMetaData[] memberMetaData = acmd.getManagedMembers(); for (int i=0; i<memberMetaData.length; i++) { createGetter(memberMetaData[i]); createSetter(memberMetaData[i]); } }
this.tableName = tableName; AbstractMemberMetaData[] ammds = acmd.getManagedMembers(); this.columnList = new ArrayList<ColumnImpl>(ammds.length); this.forceApiColumns = new HashMap<String, ColumnImpl>(ammds.length); for (AbstractMemberMetaData ammd : acmd.getManagedMembers()) {
this.tableName = tableName; AbstractMemberMetaData[] ammds = acmd.getManagedMembers(); this.columnList = new ArrayList<ColumnImpl>(ammds.length); this.forceApiColumns = new HashMap<String, ColumnImpl>(ammds.length); for (AbstractMemberMetaData ammd : acmd.getManagedMembers()) {
/** * Create the fields for the implementation. * @param acmd MetaData for the class/interface */ protected void createPropertyFields(AbstractClassMetaData acmd) { if (acmd == null) { return; } AbstractMemberMetaData[] propertyMetaData = acmd.getManagedMembers(); for (int i=0; i<propertyMetaData.length; i++) { writer.visitField(Opcodes.ACC_PRIVATE, propertyMetaData[i].getName(), Type.getDescriptor(propertyMetaData[i].getType()), null, null).visitEnd(); } }
public void manageClass(AbstractClassMetaData cmd) { // We demand DiscriminatorMetaData, because in cases where an object of the // top class in the inheritance hierarchy will be persisted and the subclasses // are not yet known to datanucleus, we already need to know about the discriminator // property. At this point here the exception can be too late, if an object of // the top class has been persisted already. But at least the developer is // now informed, that he should add the DiscriminatorMetaData. if (getDiscriminatorMetaData() == null) { throw new NucleusUserException("Descriminator meta data for " + cmd.getFullClassName() + " is missing. Please specify at least the discriminator column."); } // Go through the fields for this class and add columns for them for (AbstractMemberMetaData fmd : cmd.getManagedMembers()) { addFieldMapping(cmd, fmd); } this.managedClassMetaData.add(cmd); }
public MemberMetadata[] getMembers() { AbstractMemberMetaData[] internalMmds = getInternal().getManagedMembers(); if (internalMmds == null) { return null; } MemberMetadataImpl[] mmds = new MemberMetadataImpl[internalMmds.length]; for (int i=0;i<mmds.length;i++) { if (internalMmds[i] instanceof FieldMetaData) { mmds[i] = new FieldMetadataImpl((FieldMetaData)internalMmds[i]); } else { mmds[i] = new PropertyMetadataImpl((PropertyMetaData)internalMmds[i]); } mmds[i].parent = this; } return mmds; }
for (AbstractMemberMetaData fmd : curCmd.getManagedMembers()) { if (overriddenFieldMap.containsKey(fmd.getFullFieldName())) { fmd = overriddenFieldMap.get(fmd.getFullFieldName());
private void applyUniqueFieldValueConstraints(Configuration config) { AbstractStoreManager sm = (AbstractStoreManager) storeMgr; MetaDataManager mdm = sm.getMetaDataManager(); Collection<String> classesWithMetaData = mdm.getClassesWithMetaData(); for (String className : classesWithMetaData) { ClassLoaderResolver clr = storeMgr.getNucleusContext().getClassLoaderResolver(getClass().getClassLoader()); AbstractClassMetaData cmd = mdm.getMetaDataForClass(className, clr); String fullClassName = cmd.getFullClassName(); AbstractMemberMetaData[] fmds = cmd.getManagedMembers(); for (AbstractMemberMetaData memberMetaData : fmds) { if (memberMetaData.isPrimaryKey()) { String fieldName = memberMetaData.getName(); config.objectClass(fullClassName).objectField(fieldName).indexed(true); config.add(new UniqueFieldValueConstraint(fullClassName, fieldName)); } } } }
AbstractMemberMetaData[] mmds = cmd.getManagedMembers(); for (int i=0;i<mmds.length;i++) { if (MetaDataUtils.isParentPKField(mmds[i])) {
for (AbstractMemberMetaData ammd : curCmd.getManagedMembers()) { validateField(acmd, pkMemberMetaData, noParentAllowed, pkType, foundOneOrZeroExtensions, nonRepeatableRelationTypes, ammd);
/** * Method that adds the specified class to be managed by this table. * Will provide mapping of all persistent fields to their underlying columns, map all necessary * identity fields, and manage all "unmapped" columns that have no associated field. * where the columns are defined for each mapping. * @param theCmd ClassMetaData for the class to be managed * @param clr The ClassLoaderResolver */ public void manageClass(AbstractClassMetaData theCmd, ClassLoaderResolver clr) { if (NucleusLogger.DATASTORE_SCHEMA.isDebugEnabled()) { NucleusLogger.DATASTORE_SCHEMA.debug(Localiser.msg("057024", toString(), theCmd.getFullClassName(), theCmd.getInheritanceMetaData().getStrategy().toString())); } managingClassCurrent = theCmd.getFullClassName(); managedClassMetaData.add(theCmd); // Manage all fields of this class and all fields of superclasses that this is overriding manageMembers(theCmd, clr, theCmd.getManagedMembers()); manageMembers(theCmd, clr, theCmd.getOverriddenMembers()); // Manage all "unmapped" columns (that have no field) manageUnmappedColumns(theCmd, clr); managingClassCurrent = null; if (runCallbacksAfterManageClass) { // We need to run the callbacks now that this class is fully managed runCallBacks(clr); runCallbacksAfterManageClass = false; } }
this.cmd = cmd; AbstractMemberMetaData[] mmds = cmd.getManagedMembers(); ClassLoaderResolver clr = model.getClassLoaderResolver(); for (int i=0;i<mmds.length;i++)
for (AbstractMemberMetaData mmd : cmd.getManagedMembers())
AbstractMemberMetaData[] fmds = cmd.getManagedMembers(); for (int i = 0; i < fmds.length; i++)
AbstractMemberMetaData[] fmds = cmd.getManagedMembers(); for (int i=0;i<fmds.length;i++)
AbstractMemberMetaData[] mmds = cmd.getManagedMembers(); table.provideMappingsForMembers(consumer, mmds, false);
AbstractMemberMetaData[] mmds = cmd.getManagedMembers(); for (int i=0;i<mmds.length;i++)
AbstractMemberMetaData[] fmds = cmd.getManagedMembers(); for (int i=0;i<fmds.length;i++)