package org.enoir.graphvizapi;

/**
 * Created by frank on 2014/11/19.
 */
public class BaseGraphObject {
    private String id;
    public BaseGraphObject(String id) {
        this.id = id;
    }

    public String getId(){
        return this.id;
    }
    public void setId(String id){
        this.id = id;
    }
}

@@ -25,16 +25,94 @@
 izapi;%0A%0A
+import org.w3c.dom.Attr;%0A%0Aimport java.util.ArrayList;%0Aimport java.util.List;%0A%0A
 /**%0A * C
@@ -153,16 +153,25 @@
 %0Apublic 
+abstract 
 class Ba
@@ -205,24 +205,63 @@
  String id;%0A
+    private List%3CAttributes%3E attrList;%0A
     public B
@@ -306,24 +306,615 @@
 is.id = id;%0A
+        attrList = new ArrayList%3CAttributes%3E();%0A    %7D%0A%0A    public void addAttributes(Attributes attr)%7B%0A        this.attrList.add(attr);%0A    %7D%0A%0A    public void removeAttributes(String name)%7B%0A        List%3CAttributes%3E removeList = new ArrayList%3CAttributes%3E();%0A        for(Attributes attr : this.attrList)%7B%0A            if(attr.getAttrName().equals(name))%7B%0A                removeList.add(attr);%0A            %7D%0A        %7D%0A        if(removeList.size()==0)%7B%0A            //TODO maybe throw exception%0A        %7D%0A        for(Attributes attr: removeList)%7B%0A            this.attrList.remove(attr);%0A        %7D%0A
     %7D%0A%0A    p
@@ -1027,10 +1027,53 @@
 ;%0A    %7D%0A
+    abstract public String genDotString();%0A
 %7D%0A

Add genDotString abstract method in BaseGraphObject.