public void initializeMetaData()

in impl/src/main/java/org/apache/tuscany/sdo/model/impl/ModelFactoryImpl.java [831:1043]


  public void initializeMetaData()
  {
    if (isInitialized) return;
    isInitialized = true;
    commonj.sdo.Property property = null;

    // Add supertypes to types
    addSuperType(dataGraphTypeType, this.getBaseDataGraphType());

    // Initialize types and properties
    initializeType(baseDataGraphTypeType, BaseDataGraphType.class, "BaseDataGraphType", true);
    property = getLocalProperty(baseDataGraphTypeType, 0);
    initializeProperty(property, this.getModelsType(), "models", null, 0, 1, BaseDataGraphType.class, false, true, false, true , null);

    property = getLocalProperty(baseDataGraphTypeType, 1);
    initializeProperty(property, this.getXSDType(), "xsd", null, 0, 1, BaseDataGraphType.class, false, true, false, true , null);

    property = getLocalProperty(baseDataGraphTypeType, 2);
    initializeProperty(property, this.getChangeSummaryType(), "changeSummary", null, 0, 1, BaseDataGraphType.class, false, true, false);

    property = getLocalProperty(baseDataGraphTypeType, 3);
    initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, BaseDataGraphType.class, false, false, false);

    initializeType(dataGraphTypeType, DataGraphType.class, "DataGraphType", false);
    property = getLocalProperty(dataGraphTypeType, 0);
    initializeProperty(property, getSequence(), "any", null, 0, 1, DataGraphType.class, false, false, false);

    initializeType(dataObjectType, commonj.sdo.DataObject.class, "DataObject", true); // generated as org.apache.tuscany.sdo.model.DataObject.class
    initializeType(modelsTypeType, ModelsType.class, "ModelsType", false);
    property = getLocalProperty(modelsTypeType, 0);
    initializeProperty(property, getSequence(), "any", null, 0, -1, ModelsType.class, false, false, false);

    initializeType(propertyType, Property.class, "Property", false);
    property = getLocalProperty(propertyType, 0);
    initializeProperty(property, this.getString(), "aliasName", null, 0, -1, Property.class, false, false, false);

    property = getLocalProperty(propertyType, 1);
    initializeProperty(property, getSequence(), "any", null, 0, -1, Property.class, false, false, false);

    property = getLocalProperty(propertyType, 2);
    initializeProperty(property, this.getString(), "name", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 3);
    initializeProperty(property, this.getBoolean(), "many", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 4);
    initializeProperty(property, this.getBoolean(), "containment", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 5);
    initializeProperty(property, this.getString(), "default", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 6);
    initializeProperty(property, this.getBoolean(), "readOnly", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 7);
    initializeProperty(property, this.getType(), "type", null, 0, 1, Property.class, false, true, false, false , null);
    setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Type");

    property = getLocalProperty(propertyType, 8);
    initializeProperty(property, this.getProperty(), "opposite", null, 0, 1, Property.class, false, true, false, false , null);
    setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Property");

    property = getLocalProperty(propertyType, 9);
    initializeProperty(property, this.getBoolean(), "nullable", null, 0, 1, Property.class, false, true, false);

    property = getLocalProperty(propertyType, 10);
    initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, Property.class, false, false, false);

    initializeType(textTypeType, TextType.class, "TextType", true);
    property = getLocalProperty(textTypeType, 0);
    initializeProperty(property, this.getString(), "text", null, 0, -1, TextType.class, false, false, false);

    initializeType(typeType, Type.class, "Type", false);
    property = getLocalProperty(typeType, 0);
    initializeProperty(property, this.getType(), "baseType", null, 0, -1, Type.class, false, false, false, false , null);
    setInstanceProperty (property, "commonj.sdo/xml", "propertyType", "sdo:Type");

    property = getLocalProperty(typeType, 1);
    initializeProperty(property, this.getProperty(), "property", null, 0, -1, Type.class, false, false, false, true , null);

    property = getLocalProperty(typeType, 2);
    initializeProperty(property, this.getString(), "aliasName", null, 0, -1, Type.class, false, false, false);

    property = getLocalProperty(typeType, 3);
    initializeProperty(property, getSequence(), "any", null, 0, -1, Type.class, false, false, false);

    property = getLocalProperty(typeType, 4);
    initializeProperty(property, this.getString(), "name", null, 0, 1, Type.class, false, true, false);
    setInstanceProperty (property, "commonj.sdo/xml", "dataType", "sdo:String");

    property = getLocalProperty(typeType, 5);
    initializeProperty(property, this.getURI(), "uri", null, 0, 1, Type.class, false, true, false);

    property = getLocalProperty(typeType, 6);
    initializeProperty(property, this.getBoolean(), "dataType", null, 0, 1, Type.class, false, true, false);

    property = getLocalProperty(typeType, 7);
    initializeProperty(property, this.getBoolean(), "open", null, 0, 1, Type.class, false, true, false);

    property = getLocalProperty(typeType, 8);
    initializeProperty(property, this.getBoolean(), "sequenced", null, 0, 1, Type.class, false, true, false);

    property = getLocalProperty(typeType, 9);
    initializeProperty(property, this.getBoolean(), "abstract", null, 0, 1, Type.class, false, true, false);

    property = getLocalProperty(typeType, 10);
    initializeProperty(property, getSequence(), "anyAttribute", null, 0, -1, Type.class, false, false, false);

    initializeType(typesType, Types.class, "Types", false);
    property = getLocalProperty(typesType, 0);
    initializeProperty(property, this.getType(), "type", null, 0, -1, Types.class, false, false, false, true , null);

    initializeType(xsdTypeType, XSDType.class, "XSDType", false);
    property = getLocalProperty(xsdTypeType, 0);
    initializeProperty(property, getSequence(), "any", null, 0, -1, XSDType.class, false, false, false);

    // Initialize data types
    initializeType(boolean_Type, boolean.class, "Boolean", true, false);
    setInstanceProperty (boolean_Type, "commonj.sdo/java", "instanceClass", "boolean");

    initializeType(booleanObjectType, Boolean.class, "BooleanObject", true, false);

    initializeType(byte_Type, byte.class, "Byte", true, false);
    setInstanceProperty (byte_Type, "commonj.sdo/java", "instanceClass", "byte");

    initializeType(byteObjectType, Byte.class, "ByteObject", true, false);

    initializeType(bytesType, byte[].class, "Bytes", true, false);
    setInstanceProperty (bytesType, "commonj.sdo/java", "instanceClass", "byte[]");

    initializeType(changeSummaryTypeType, ChangeSummary.class, "ChangeSummaryType", true, false);
    setInstanceProperty (changeSummaryTypeType, "commonj.sdo/java", "instanceClass", "commonj.sdo.ChangeSummary");

    initializeType(characterType, char.class, "Character", true, false);
    setInstanceProperty (characterType, "commonj.sdo/java", "instanceClass", "char");

    initializeType(characterObjectType, Character.class, "CharacterObject", true, false);

    initializeType(dateType, Date.class, "Date", true, false);
    setInstanceProperty (dateType, "commonj.sdo/java", "instanceClass", "java.util.Date");

    initializeType(dateTimeType, String.class, "DateTime", true, false);
    setInstanceProperty (dateTimeType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(dayType, String.class, "Day", true, false);
    setInstanceProperty (dayType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(decimalType, BigDecimal.class, "Decimal", true, false);
    setInstanceProperty (decimalType, "commonj.sdo/java", "instanceClass", "java.math.BigDecimal");

    initializeType(double_Type, double.class, "Double", true, false);
    setInstanceProperty (double_Type, "commonj.sdo/java", "instanceClass", "double");

    initializeType(doubleObjectType, Double.class, "DoubleObject", true, false);

    initializeType(durationType, String.class, "Duration", true, false);
    setInstanceProperty (durationType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(float_Type, float.class, "Float", true, false);
    setInstanceProperty (float_Type, "commonj.sdo/java", "instanceClass", "float");

    initializeType(floatObjectType, Float.class, "FloatObject", true, false);

    initializeType(int_Type, int.class, "Int", true, false);
    setInstanceProperty (int_Type, "commonj.sdo/java", "instanceClass", "int");

    initializeType(integerType, BigInteger.class, "Integer", true, false);
    setInstanceProperty (integerType, "commonj.sdo/java", "instanceClass", "java.math.BigInteger");

    initializeType(intObjectType, Integer.class, "IntObject", true, false);

    initializeType(long_Type, long.class, "Long", true, false);
    setInstanceProperty (long_Type, "commonj.sdo/java", "instanceClass", "long");

    initializeType(longObjectType, Long.class, "LongObject", true, false);

    initializeType(monthType, String.class, "Month", true, false);
    setInstanceProperty (monthType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(monthDayType, String.class, "MonthDay", true, false);
    setInstanceProperty (monthDayType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(objectType, Object.class, "Object", true, false);
    setInstanceProperty (objectType, "commonj.sdo/java", "instanceClass", "java.lang.Object");

    initializeType(short_Type, short.class, "Short", true, false);
    setInstanceProperty (short_Type, "commonj.sdo/java", "instanceClass", "short");

    initializeType(shortObjectType, Short.class, "ShortObject", true, false);

    initializeType(stringType, String.class, "String", true, false);
    setInstanceProperty (stringType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(stringsType, List.class, "Strings", true, false);
    setInstanceProperty (stringsType, "commonj.sdo/java", "instanceClass", "java.util.List");

    initializeType(timeType, String.class, "Time", true, false);
    setInstanceProperty (timeType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(uriType, String.class, "URI", true, false);
    setInstanceProperty (uriType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(yearType, String.class, "Year", true, false);
    setInstanceProperty (yearType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(yearMonthType, String.class, "YearMonth", true, false);
    setInstanceProperty (yearMonthType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    initializeType(yearMonthDayType, String.class, "YearMonthDay", true, false);
    setInstanceProperty (yearMonthDayType, "commonj.sdo/java", "instanceClass", "java.lang.String");

    createXSDMetaData();
  }