Save This Page
Home » struts-2.1.8.1-src » org.apache » struts2 » sitegraph » model » [javadoc | source]
    1   /*
    2    * $Id: SiteGraphNode.java 651946 2008-04-27 13:41:38Z apetrelli $
    3    *
    4    * Licensed to the Apache Software Foundation (ASF) under one
    5    * or more contributor license agreements.  See the NOTICE file
    6    * distributed with this work for additional information
    7    * regarding copyright ownership.  The ASF licenses this file
    8    * to you under the Apache License, Version 2.0 (the
    9    * "License"); you may not use this file except in compliance
   10    * with the License.  You may obtain a copy of the License at
   11    *
   12    *  http://www.apache.org/licenses/LICENSE-2.0
   13    *
   14    * Unless required by applicable law or agreed to in writing,
   15    * software distributed under the License is distributed on an
   16    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   17    * KIND, either express or implied.  See the License for the
   18    * specific language governing permissions and limitations
   19    * under the License.
   20    */
   21   
   22   package org.apache.struts2.sitegraph.model;
   23   
   24   import java.io.IOException;
   25   
   26   /**
   27    */
   28   public abstract class SiteGraphNode implements Render, Comparable {
   29       private String name;
   30       private SubGraph parent;
   31   
   32       public SiteGraphNode(String name) {
   33           this.name = name;
   34       }
   35   
   36       public SubGraph getParent() {
   37           return parent;
   38       }
   39   
   40       public void setParent(SubGraph parent) {
   41           this.parent = parent;
   42       }
   43   
   44       public void render(IndentWriter writer) throws IOException {
   45           writer.write(getFullName() + " [label=\"" + name + "\",color=\"" + getColor() + "\"];");
   46       }
   47   
   48       public String getFullName() {
   49           String prefix = "";
   50           if (parent != null) {
   51               String parentPrefix = parent.getPrefix();
   52               if (!parentPrefix.equals("")) {
   53                   prefix = parentPrefix + "_";
   54               }
   55           }
   56           return prefix + cleanName();
   57       }
   58   
   59       private String cleanName() {
   60           return name.replaceAll("[\\.\\/\\-\\$\\{\\}]", "_");
   61       }
   62   
   63       public abstract String getColor();
   64   
   65       public int compareTo(Object o) {
   66           return name.compareTo(((SiteGraphNode) o).name);
   67       }
   68   }

Save This Page
Home » struts-2.1.8.1-src » org.apache » struts2 » sitegraph » model » [javadoc | source]