Package org.dmd.dms

Examples of org.dmd.dms.AttributeDefinition


        // If the value is a single valued type, we'll want the primitive type.
       
        boolean shouldAddType = true;
       
        anyAttributes = true;
        AttributeDefinition ad = may.next();
        TypeDefinition td = ad.getType();
       
        if (ad.getGenericArgs() != null){
          if (ad.getGenericArgs().equals("<DmcObjectName>"))
            needDmwOmni = true;
        }
       
        switch(ad.getValueType()){
        case SINGLE:
          anySVAttributes =  true;
          break;
        case HASHMAPPED:
        case TREEMAPPED:
          anyMVAttributes = true;
          if (ad.getType().getIsRefType())
            anyMVRefs = true;
         
          iterables.put(td.getName(),td);
          break;
        case MULTI:
        case HASHSET:
        case TREESET:
          anyMVAttributes = true;
         
          if (ad.getType().getIsRefType())
            anyMVRefs = true;
         
          iterables.put(td.getName(),td);
         
          break;
        }
       
        if (shouldAddType){
          types.put(td.getName(), td);
          TypeAndAttr ta = new TypeAndAttr(td,ad.getValueType(),ad.getIndexSize());
          typeAndAttr.put(ta.name, ta);
        }
       
        appendAttributeInfo(attributeInfo, ad.getName().getNameString(), ad.getDmdID(), ad.getType().getName().getNameString(), ad.getValueType(), ad.getDataType());

        if (ad.getGenericArgsImport() != null)
          genericImports.add(ad.getGenericArgsImport());

        if (ad.getValueType() != ValueTypeEnum.SINGLE){
          addImport(uniqueImports, longestImport, ad.getDefinedIn().getDMSASGImport(), "Attribute from " + ad.getDefinedIn().getName() + " schema");
        }

        allAttr.add(ad);
      }
    }
   
    Iterator<AttributeDefinition> must = cd.getMust();
    if (must != null){
      while(must.hasNext()){
        // NOTE: COMPLICATED! We always add the type of the attribute to our global types
        // map EXCEPT IF the type is a non-referential, MULTI/SET attribute. Gaa!
        //
        // This is because WE DON'T want the primitive type any more, just the TYPEIterableDMW.
        // If the value is a single valued type, we'll want the primitive type.
       
        boolean shouldAddType = true;
        anyAttributes = true;
        AttributeDefinition ad = must.next();
        TypeDefinition td = ad.getType();
       
        if (ad.getGenericArgs() != null){
          if (ad.getGenericArgs().equals("<DmcObjectName>"))
            needDmwOmni = true;
        }
       
        switch(ad.getValueType()){
        case SINGLE:
          anySVAttributes =  true;
          break;
        case HASHMAPPED:
        case TREEMAPPED:
          anyMVAttributes = true;
          if (ad.getType().getIsRefType())
            anyMVRefs = true;

          iterables.put(td.getName(),td);
          break;
        case MULTI:
        case HASHSET:
        case TREESET:
          anyMVAttributes = true;
          if (ad.getType().getIsRefType())
            anyMVRefs = true;

          iterables.put(td.getName(),td);
          break;
        }

        if (shouldAddType){
          types.put(td.getName(), td);
          TypeAndAttr ta = new TypeAndAttr(td,ad.getValueType(),ad.getIndexSize());
          typeAndAttr.put(ta.name, ta);
        }
       
        appendAttributeInfo(attributeInfo, ad.getName().getNameString(), ad.getDmdID(), ad.getType().getName().getNameString(), ad.getValueType(), ad.getDataType());

        if (ad.getGenericArgsImport() != null)
          genericImports.add(ad.getGenericArgsImport());

        if (ad.getValueType() != ValueTypeEnum.SINGLE){
          addImport(uniqueImports, longestImport, ad.getDefinedIn().getDMSASGImport(), "Attribute from " + ad.getDefinedIn().getName() + " schema");
        }
       
        allAttr.add(ad);
      }
    }
   
    if (cd.getIsNamedBy() != null){
      AttributeDefinition isNamedBy = cd.getIsNamedBy();
      String nameAttributeType = isNamedBy.getType().getPrimitiveType();
     
      addImport(uniqueImports, longestImport, nameAttributeType, "Is named by");
    }
       
//    addImport(uniqueImports, longestImport, "org.dmd.dms.*", "Always 2");
View Full Code Here


  String getAccessFunctions(ClassDefinition cd){
    StringBuffer sb  = new StringBuffer();
   
    // provide the getObjectName() method to support DmcNamedObjectIF
    if (cd.getIsNamedBy() != null){
      AttributeDefinition isNamedBy = cd.getIsNamedBy();
      String nameType = isNamedBy.getType().getName().getNameString();
     
        StringBuffer   attrNameCapped   = new StringBuffer();
        attrNameCapped.append(cd.getIsNamedBy().getName());
        attrNameCapped.setCharAt(0,Character.toUpperCase(attrNameCapped.charAt(0)));
       
View Full Code Here

      if (modifiers != null){
        while(modifiers.hasNext()){
          Modifier mod = modifiers.next();
          if (mod.getAttribute() == null){
            if (mod.getModifyType() == ModifyTypeEnum.REM){
              AttributeDefinition ad = DmwOmni.instance().getSchema().adef(mod.getAttributeName());
              if (ad == null)
                throw(new IllegalStateException("Malformed DMPEvent. Could not get definition for attribute: " + mod.getAttributeName()));
              else
                if (ad.getDataType() == DataTypeEnum.PERSISTENT){
                  rc = true;
                  break;
                }
            }
            else if (mod.getModifyType() == ModifyTypeEnum.NTH){
              AttributeDefinition ad = DmwOmni.instance().getSchema().adef(mod.getAttributeName());
              if (ad == null)
                throw(new IllegalStateException("Malformed DMPEvent. Could not get definition for attribute: " + mod.getAttributeName()));
              else
                if (ad.getDataType() == DataTypeEnum.PERSISTENT){
                  rc = true;
                  break;
                }
            }
            else
View Full Code Here

//        allAttr.add(ad);
//      }
//    }
   
    if (cd.getIsNamedBy() != null){
      AttributeDefinition isNamedBy = cd.getIsNamedBy();
      String nameAttributeType = isNamedBy.getType().getPrimitiveType();
     
      imports.addImport(nameAttributeType, "Is named by");
    }
     
    if (useWrappedObjectRefs){
View Full Code Here

  String getAccessFunctions(ClassDefinition cd, ImportManager imports){
    StringBuffer sb  = new StringBuffer();
   
    // provide the getObjectName() method to support DmcNamedObjectIF
    if (cd.getIsNamedBy() != null){
      AttributeDefinition isNamedBy = cd.getIsNamedBy();
      String nameType = isNamedBy.getType().getName().getNameString();
     
        StringBuffer   attrNameCapped   = new StringBuffer();
        attrNameCapped.append(cd.getIsNamedBy().getName());
        attrNameCapped.setCharAt(0,Character.toUpperCase(attrNameCapped.charAt(0)));
       
View Full Code Here

              errors.result.lastResult().lineNumber(fbd.getLineNumber());
            }
            else
              field.setEditorDef(fed);
           
            AttributeDefinition  def = readSchemas.adef(field.getAttribute());
            if (def == null){
              if (errors == null)
                errors = new ResultException();
             
              errors.addError("Unknown attribute reference: " + field.getAttribute());
              errors.result.lastResult().fileName(fbd.getFile());
              errors.result.lastResult().lineNumber(fbd.getLineNumber());
            }
            else{
              field.setAttrDef(def);
             
              if (fbd.isStrictlyChecked()){
                ClassDefinition cd = (ClassDefinition) fbd.getEditObject();
                if (cd.hasAttribute(def.getName().getNameString()) == null){
                  if (errors == null)
                    errors = new ResultException();
                 
                  errors.addError("Attribute: " + field.getAttribute() + " is not an attribute of editObject: " + cd.getName());
                  errors.result.lastResult().fileName(fbd.getFile());
View Full Code Here

   * @throws IOException
   */
  private void dumpNamedREFHelperType(TypeDefinition td, String outdir) throws IOException {
//    String ofn = outdir + File.separator + "DmcType" + td.getName().getNameString() + "REF.java";
   
    AttributeDefinition isNamedBy = td.getOriginalClass().getIsNamedBy();
    String nameAttributeType = isNamedBy.getType().getPrimitiveType();
    String nameType = isNamedBy.getType().getName().getNameString();
   
   
//    BufferedWriter   out = new BufferedWriter( new FileWriter(ofn) );
    BufferedWriter   out = FileUpdateManager.instance().getWriter(outdir, "DmcType" + td.getName().getNameString() + "REF.java");
   
View Full Code Here

   * @throws ClassNotFoundException
   * @throws ClassNotFoundException 
   */
  public DmcObject createObject(DmcUncheckedObject uco) throws ResultException, DmcValueException, ClassNotFoundException {
    DmcObject      dmo  = null;
    AttributeDefinition  ad  = null;
    ClassDefinition    cd  = schema.cdef(uco.getConstructionClass());
    Class<?>      dmoClass;
   
    if (cd == null){
          ResultException ex = new ResultException();
            ex.result.addResult(Result.ERROR,"Unknown class: " + uco.getConstructionClass());
            ex.result.lastResult().moreMessages(DebugInfo.getCurrentStack());
            throw(ex);
    }

        if (cd.getClassType() == ClassTypeEnum.ABSTRACT){
          ResultException ex = new ResultException();
          ex.result.addResult(Result.ERROR,"Can't instantiate an ABSTRACT class: " + cd.getDmoImport());
            ex.result.lastResult().moreMessages(DebugInfo.getCurrentStack());
            throw(ex);         
        }

        try{
          synchronized (this) {
              dmoClass = Class.forName(cd.getDmoImport());
      }
        }
        catch(Exception e){
          ResultException ex = new ResultException();
          ex.result.addResult(Result.FATAL,"Couldn't load Java class: " + cd.getDmoImport());
            ex.result.lastResult().moreMessages(e.getMessage());
            ex.result.lastResult().moreMessages(DebugInfo.extractTheStack(e));
            throw(ex);
        }
       
        try{
          dmo = (DmcObject) dmoClass.newInstance();
        }
        catch(Exception e){
          ResultException ex = new ResultException();
          ex.result.addResult(Result.FATAL,"Couldn't instantiate Java class: " + cd.getDmoImport());
          ex.result.lastResult().moreMessages("This may be because the class doesn't have a constructor that takes no arguments.");
          ex.result.lastResult().moreMessages(DebugInfo.getCurrentStack());
          throw(ex);
        }
       
   
    // Add the object class
    DmcTypeClassDefinitionREFMV cref = new DmcTypeClassDefinitionREFMV();
    cref.add(cd.getObjectName());
   
    // And add any auxiliary classes if we have them
    for(int i=1; i<uco.classes.size(); i++){
      if ((cd = schema.isClass((String)uco.classes.get(i))) == null){
            ResultException ex = new ResultException();
              ex.result.addResult(Result.ERROR,"Unknown class: " + uco.classes.get(i));
              throw(ex);
      }
      cref.add(cd.getObjectName());
//      dmo.add("objectClass", cref);
    }
   
    dmo.add(DmcObject.__objectClass, cref);
   
    Iterator<String> names = uco.getAttributeNames();
    while(names.hasNext()){
      String n = names.next();
      ad = schema.adef(n);
     
      if (ad == null){
            ResultException ex = new ResultException();
              ex.result.addResult(Result.ERROR,"Unknown attribute: " + n);
              throw(ex);
      }
     
      DmcAttributeInfo ai = dmo.getAttributeInfo(n);
      if (ai == null){
        ai = ad.getAttributeInfo();
      }
     
//      DmcAttributeInfo ai = DmcOmni.instance().getInfo(ad.getDmdID());
     
      if (ai == null)
        throw(new IllegalStateException("Unknown attribute id: " + ad.getDmdID() + " for attribute: " + ad.getName()));
     
      NamedStringArray values = null;
     
      switch(ad.getValueType()){
      case SINGLE:
        values = uco.get(n);
       
        try {
          // Try to get the attribute
          DmcAttribute<?> attr = dmo.get(ad.getName().getNameString());
         
          // If we can't find the attribute container, create it
          if (attr == null)
            attr = ad.getType().getAttributeHolder(ai);
         
          // Set the value
          attr.set(values.get(0));
         
          // Store the attribute
          dmo.set(ai, attr);
        } catch (InstantiationException e) {
          e.printStackTrace();
        } catch (IllegalAccessException e) {
          e.printStackTrace();
        } catch (DmcValueException e) {
          throw(e);
        }
        break;
      case MULTI:
      case HASHMAPPED:
      case TREEMAPPED:
      case HASHSET:
      case TREESET:
        values = uco.get(n);
       
        for (String attrVal: values){
          try {
            // Try to get the attribute
            DmcAttribute<?> attr = dmo.get(ad.getName().getNameString());
           
            // If we can't find the attribute container, create it
            if (attr == null)
              attr = ad.getType().getAttributeHolder(ai);
                       
            // Add the value to the container
            attr.add(attrVal);
         
            // Store the attribute
View Full Code Here

    }
     
        Iterator<AttributeDefinition> ads = sd.getAttributeDefList();
    if (ads != null){
      while(ads.hasNext()){
        AttributeDefinition ad = ads.next();
        attributes.put(ad.getName().getNameString(), ad);
      }
    }
     
        Iterator<TypeDefinition> tds = sd.getTypeDefList();
    if (tds != null){
      while(tds.hasNext()){
        TypeDefinition td = tds.next();
        types.put(td.getName().getNameString(), td);
      }
    }
   
    tds = sd.getInternalTypeDefList();
    if (tds != null){
      while(tds.hasNext()){
        TypeDefinition td = tds.next();
        types.put(td.getName().getNameString(), td);
      }
    }
   
     
        out.write("\n");

    out.write("// Generated from: " + DebugInfo.getWhereWeAreNow() + "\n");
        out.write("public class " + schemaName + " implements DmcCompactSchemaIF {\n\n");

        out.write("\n");
        out.write("    static String schemaName = \"" + sd.getName().getNameString() + "\";\n");
        out.write("\n");

        out.write("\n");
        out.write("    static int schemaBaseID = " + sd.getSchemaBaseID() + ";\n");
        out.write("\n");

        out.write("\n");
        out.write("    static int schemaIDRange = " + sd.getSchemaIDRange() + ";\n");
        out.write("\n");

        int max = sd.getSchemaBaseID() + sd.getSchemaIDRange();
       
        out.write("\n");
        out.write("    static int schemaMaxID = " + max + ";\n");
        out.write("\n");

        for(AttributeDefinition ad: attributes.values()){
      //     public final static DmcAttributeInfo __monitoredBy = new DmcAttributeInfo("monitoredBy",2202,"DashboardPrefs",ValueTypeEnum.MULTI,false);
      out.write("    public final static DmcAttributeInfo __" + ad.getName().getNameString() + " = new DmcAttributeInfo(");
      out.write("\"" + ad.getName().getNameString() + "\"");
      out.write(", " + ad.getDmdID());
      out.write(", \"" + ad.getType().getName().getNameString() + "\"");
      out.write(", ValueTypeEnum." + ad.getValueType());
      out.write(", DataTypeEnum." + ad.getDataType());
     
      if (ad.getIndexSize() == null)
        out.write(");\n");
      else
        out.write(", " + ad.getIndexSize() + ");\n");
    }
       
        if (types.size() > 0){
            out.write("\n");
        out.write("    // Generated from: " + DebugInfo.getWhereWeAreNow() + "\n");
        for(TypeDefinition td: types.values()){
           
            if (td.getInternallyGenerated() == false){
              // This is a straightforward type definition
             
              if (td.getIsNameType() == false)
                out.write("    public final static DmcTypeInfo __type_" + td.getName().getNameString() + " = new DmcTypeInfo(\"" + td.getName().getNameString() + "\", OriginalTypeEnum.TYPE);\n");
              else
                out.write("    public final static DmcTypeInfo __type_" + td.getName().getNameString() + " = new DmcTypeInfo(\"" + td.getName().getNameString() + "\", OriginalTypeEnum.NAMETYPE);\n");

            }
            else{
              // Have to check extended ref before ref type since both values are set of extended refs.
             
              if (td.getIsEnumType())
                out.write("    public final static DmcTypeInfo __type_" + td.getName().getNameString() + " = new DmcTypeInfo(\"" + td.getName().getNameString() + "\", OriginalTypeEnum.ENUM);\n");
              else if (td.getIsExtendedRefType())
                out.write("    public final static DmcTypeInfo __type_" + td.getName().getNameString() + " = new DmcTypeInfo(\"" + td.getName().getNameString() + "\", OriginalTypeEnum.EXTREF);\n");
              else if (td.getIsRefType()){
                // We actually want to distinguish between unnamed objects and named objects
                if (td.getOriginalClass().getIsNamedBy() == null)
                  out.write("    public final static DmcTypeInfo __type_" + td.getOriginalClass().getName().getNameString() + " = new DmcTypeInfo(\"" + td.getOriginalClass().getName().getNameString() + "\", OriginalTypeEnum.OBJECT);\n");
                else
                  out.write("    public final static DmcTypeInfo __type_" + td.getOriginalClass().getName().getNameString() + " = new DmcTypeInfo(\"" + td.getOriginalClass().getName().getNameString() + "\", OriginalTypeEnum.REFERENCE);\n");
              }
              else{
                // Fixed 20130121 for references to classes
                if (td.getOriginalClass() == null)
                  out.write("    public final static DmcTypeInfo __type_" + td.getName().getNameString() + " = new DmcTypeInfo(\"" + td.getName().getNameString() + "\", OriginalTypeEnum.COMPLEXTYPE);\n");
                else
                  out.write("    public final static DmcTypeInfo __type_" + td.getOriginalClass().getName().getNameString() + " = new DmcTypeInfo(\"" + td.getOriginalClass().getName().getNameString() + "\", OriginalTypeEnum.COMPLEXTYPE);\n");
              }
            }
           
//            System.out.println("HERE\n\n" + td.toOIF());
        }
        }
       
        if (classes.size() > 0){
            out.write("\n");
        out.write("    // Generated from: " + DebugInfo.getWhereWeAreNow() + "\n");
          TreeMap<String,ClassNode> hierarchy = getHierarchy(classes.values().iterator());
          for(ClassNode cn: hierarchy.values()){
            cn.writeClassInfo(out);
      }
        }
       
        ///////////////////////////////////////////////////////////////////////
       
        if (sd.getSliceDefListSize() > 0){
          out.write("\n");
      out.write("    // Generated from: " + DebugInfo.getWhereWeAreNow() + "\n");
          for(SliceDefinition slice: sd.getSliceDefList()){
        out.write("    public final static DmcSliceInfo __" + slice.getName() + " = new DmcSliceInfo(\"" + slice.getName() + "\");\n");
            for(AttributeDefinition ad: slice.getSelectAttribute()){
          out.write("    // " + ad.getName() + "\n");
            }
            out.write("\n");
       
          }
        }
       
//        DmoObjectFactoryNew  factory = new DmoObjectFactoryNew(sm);
       
        ///////////////////////////////////////////////////////////////////////
        Iterator<DmcUncheckedObject>  rules = sd.getParsedRules();
       
        if (rules != null){
          out.write("\n");
      out.write("    // Generated from: " + DebugInfo.getWhereWeAreNow() + "\n");
          while(rules.hasNext()){
        DmcUncheckedObject ruleData = rules.next();
       
//        try {
//          RuleDataDMO rdd = (RuleDataDMO) factory.createObject(ruleData);
//          DebugInfo.debugWithTrace(rdd.toOIF());
//        } catch (DmcValueException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//        } catch (ClassNotFoundException e) {
//          // TODO Auto-generated catch block
//          e.printStackTrace();
//        }
       
        String dataName   = ruleData.getConstructionClass();
        int dataPos     = dataName.indexOf("Data");
        String ruleClass   = dataName.substring(0, dataPos);
        String ruleName    = ruleData.getSV("ruleName");
       
        out.write("    public final static " + ruleClass + " __" + ruleName + ";\n");
          }
        }
       
        ///////////////////////////////////////////////////////////////////////
        // Static initializer

        writeCommonPart1(out);
       
        // Inside the static initializer
       
        for(AttributeDefinition ad: attributes.values()){
            // _SmAp.put(__jobName.name,__jobName);
      out.write("        _SmAp.put(__" + ad.getName().getNameString() + ".id,__" + ad.getName().getNameString() + ");\n");
    }
       
        for(ClassDefinition cd: classes.values()){
            // _SmAp.put(__jobName.name,__jobName);
      out.write("        _CmAp.put(__" + cd.getName().getNameString() + ".id,__" + cd.getName().getNameString() + ");\n");
    }
       
        out.write(nameBuilders.toString());
       
        for(SliceDefinition slice: sd.getSliceDefList()){
          out.write("\n");
            // _SmAp.put(__jobName.name,__jobName);
          for(AttributeDefinition ad: slice.getSelectAttribute()){
        out.write("        __" + slice.getName().getNameString() + ".addAttributeID(" + ad.getDmdID() + ");\n");
          }
         
      out.write("        _SImAp.put(\"" + slice.getName() + "\",__" + slice.getName().getNameString() + ");\n");
    }
       
        cds = sd.getClassDefList();
    if (cds != null){
      while(cds.hasNext()){
        out.write("\n");
        ClassDefinition cd = cds.next();
       
        String attr = null;
        for (AttributeDefinition ad: cd.getMust()){
          if (ad.getDefinedIn() == cd.getDefinedIn())
            attr = "__" + ad.getName();
          else
            attr = ad.getDefinedIn().getDMSASGName() + ".__" + ad.getName();
          out.write("        __" + cd.getName() + ".addMust(" + attr + ");\n");
        }
       
        for (AttributeDefinition ad: cd.getMay()){
          if (ad.getDefinedIn() == cd.getDefinedIn())
            attr = "__" + ad.getName();
          else
            attr = ad.getDefinedIn().getDMSASGName() + ".__" + ad.getName();
          out.write("        __" + cd.getName() + ".addMay(" + attr + ");\n");
        }
       
      }
      out.write("\n");
View Full Code Here

   
  private void setAttributeValues(BufferedWriter out, SchemaManager sm, DmcUncheckedObject obj, PrintfFormat pf) throws IOException, ResultException {
    String        attrName  = null;
    String            objName    = null;
    ClassDefinition    cd      = null;
    AttributeDefinition  attrDef    = null;
//    TypeDefinition    typeDef    = null;
//    String            typeName    = null;
//    boolean        multiValued  = false;
//    boolean           isReference = false;
//    boolean           isEnumType  = false;
   
    objName = obj.getSV("ruleName") + "Data";
   
    cd = sm.isClass(obj.getConstructionClass());
    if (cd == null){
      ResultException ex = new ResultException();
      ex.addError("Unknown rule data class: \n" + obj.toOIF());
      throw(ex);
    }
   
//    if (cd.getClassType() == ClassTypeEnum.EXTENSIBLE){
//      DebugInfo.debug("DmoCompactSchemaFormatter.setAttributeValues() " + cd.getName() + " is extensible");
//    }
   
    Iterator<String> attributeNames = obj.getAttributeNames();
    while(attributeNames.hasNext()){
      NamedStringArray attr = obj.get(attributeNames.next());
      attrName = attr.getName();
      if (attrName == null){
        DebugInfo.debugWithTrace("Attr name null");
        continue;
      }
      attrDef  = sm.isAttribute(attrName);
     
      if (attrDef == null){
        ResultException ex = new ResultException();
        ex.addError("Unknown attribute: " + attrName);
        ex.result.lastResult().fileName(obj.getSV(MetaDMSAG.__file.name));
        ex.result.lastResult().lineNumber(obj.lineNumber);
        throw(ex);
      }
     
        StringBuffer   attrNameCapped   = new StringBuffer();
        attrNameCapped.append(attrName);
        attrNameCapped.setCharAt(0,Character.toUpperCase(attrNameCapped.charAt(0)));

        if (cd.isAllowedAttribute(new StringName(attrName))){
        if (attrDef.getValueType() == ValueTypeEnum.SINGLE){
          String value = obj.getSV(attrName);
                out.write("            _" + pf.sprintf(objName));
          out.write(".set" + attrNameCapped + "(");
          out.write("\"" + value + "\");\n");
        }
        else{
          for(String value: attr){
                  out.write("            _" + pf.sprintf(objName));
            out.write(".add" + attrNameCapped + "(");
            out.write("\"" + value + "\");\n");
          }
        }
      }
      else{
//        DebugInfo.debug("Extra attribute: " + attrName);
        out.write(attrDef.getValueModificationStatement(uniqueNum,"            ","            _" + objName, obj.get(attr.getName())));
        uniqueNum++;
      }
     
//      if (attrDef.getValueType() == ValueTypeEnum.SINGLE)
//        multiValued = false;
View Full Code Here

TOP

Related Classes of org.dmd.dms.AttributeDefinition

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.