# astah* API User Guide

## [How to edit models]

Please refer to astah* API JavaDoc for details of Interfaces and methods.
Editing models is supported in astah* UML and professional.

Transaction operation is required when editing models in astah* API. Please see the Transaction operation.

Sample: Edit class name and its definition

      try {
          TransactionManager.beginTransaction();
          BasicModelEditor bme = ModelEditorFactory.getBasicModelEditor();
          // Create a class
          IClass class0 = bme.createClass(project, "class0");
          // Set name
          class0.setName("new class name");
          // Set definition
          class0.setDefinition("Definition of the class");
          TransactionManager.endTransaction();
      } catch (InvalidEditingException e) {
          TransactionManager.abortTransaction();
      }

Sample: Edit physical name of ER entity (professional only)

      IERModel erModel = (IERModel) getElement(project.getOwnedElements(), "ER_Model");
      schema = erModel.getSchemata()[0];
      IEREntity[] entities = schema.getEntities();
      for (int i = 0; i < entities.length; i++) {
          if ("Entity0".equals(entities[i].getName())) {
          try {
             TransactionManager.beginTransaction();
             // Set physical name
             entities[i].setPhysicalName("entity0 physical name");
             TransactionManager.endTransaction();
          } catch (InvalidEditingException e) {
             TransactionManager.abortTransaction();
          }
      }

Home