Code Example for Accessing Metadata

The following code example for a package named "SampleApp" shows how to access metadata for database, classes, entities, attributes, operations, and parameters.

NSLog(@"List classes that have metadata....");
SUPDatabaseMetaData *dmd = [SampleApp_ SampleAppDB metaData];
SUPObjectList *classes = dmd.classList;
for(SUPClassMetaData *cmd in classes)
{
  NSLog(@" Class name = %@:",cmd.name);
}
NSLog(@"List entities that have metadata, and their attributes
and operations....");
SUPObjectList *entities = dmd.entityList;
for(SUPEntityMetaData *emd in entities)
{
  NSLog(@" Entity name = %@, database table name =
      %@:",emd.name,emd.table);
  SUPObjectList *attributes = emd.attributes;
  for(SUPAttributeMetaData *amd in attributes)
      NSLog(@" Attribute: name = %@%@",amd.name,
          (amd.column ? [NSString stringWithFormat:@", 
          database column = %@",amd.column] : @""));
  SUPObjectList *operations = emd.operations;
  for(SUPOperationMetaData *omd in operations)
  {
    NSLog(@" Operation: name = %@",omd.name);
    SUPObjectList *parameters = omd.parameters;
    for(SUPParameterMetaData *pmd in parameters)
       NSLog(@" Parameter: name = %@, type = %@",
           pmd.name, [pmd.dataType name]);
  }
}