/** 指定したファイルからERModel情報を出力します。 export ERModel information from specified model. */
 public void export() {
   util.open(modelFile);
   printDomain();
   System.out.println();
   printEntity();
   util.close();
 }
 /** エンティティを出力します。 Print Entity information */
 private void printEntity() {
   System.out.println("Entities");
   INamedElement[] entities = util.findElements(IEREntity.class);
   for (INamedElement element : entities) {
     if (element instanceof IEREntity) {
       IEREntity entity = (IEREntity) element;
       System.out.println("\"Logical Name\",\"Phisycal Name\"");
       System.out.println(
           format("\"%s\",\"%s\"", entity.getLogicalName(), entity.getPhysicalName()));
       System.out.println();
       System.out.println("PKs");
       System.out.println("\"PK?\",\"Logical Name\",\"Phisycal Name\",\"Datatype\"");
       IERAttribute[] pks = entity.getPrimaryKeys();
       for (IERAttribute pk : pks) {
         System.out.println(
             format(
                 "PK,%s,%s %s",
                 pk.getLogicalName(), pk.getPhysicalName(), pk.getDatatype().getName()));
       }
       IERAttribute[] nonPrimaryKeys = entity.getNonPrimaryKeys();
       for (IERAttribute nonpk : nonPrimaryKeys) {
         System.out.println(
             format(
                 "  ,%s,%s %s",
                 nonpk.getLogicalName(), nonpk.getPhysicalName(), nonpk.getDatatype().getName()));
       }
       System.out.println();
     }
   }
 }
 /** ドメインを出力します。 Print domain information */
 private void printDomain() {
   System.out.println("Domains");
   INamedElement[] domains = util.findElements(IERDomain.class);
   System.out.println("Name,Datatype,Length");
   for (INamedElement element : domains) {
     if (element instanceof IERDomain) {
       IERDomain domain = (IERDomain) element;
       System.out.println(
           format(
               "%s,%s,%s",
               domain.getName(), domain.getDatatypeName(), domain.getLengthPrecision()));
     }
   }
 }