visitorstruct.java
来自「一个java 代码生成器」· Java 代码 · 共 118 行
JAVA
118 行
/**
* Copyright (c) 2002, Siddhartha P. Chandurkar siddhartha@visioncodified.com
* All rights reserved.
* Licensed under the Academic Free License version 1.1
* See the file LICENSE.TXT for details.
* LICENSE.txt is located in the directory <install-directory>\Jenerator
* of your Jenertaor Installation.
*
*/
package com.jenerator.struct.pattern;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
/**
* VisitorStruct
*
* @author Siddhartha P. Chandurkar
* @version 0.9.0
*/
public class VisitorStruct extends PatternStruct {
//ATTRIBUTES
private String abstractVisitorName;
private Vector concreteVisitors;
private String abstractElementName;
private Hashtable concreteElements;
//CONSTRUCTORS
public VisitorStruct() {
concreteVisitors = new Vector();
concreteElements = new Hashtable();
}
//METHODS
public String getAbstractVisitorName() {
return abstractVisitorName;
}
public void setAbstractVisitorName(String abstractVisitorName) {
this.abstractVisitorName = abstractVisitorName;
}
public Vector getConcreteVisitors() {
return concreteVisitors;
}
public void setConcreteVisitors(Vector concreteVisitors) {
this.concreteVisitors = concreteVisitors;
}
public void addConcreteVisitor(String concreteVisitor) {
this.concreteVisitors.addElement(concreteVisitor);
}
public String getAbstractElementName() {
return abstractElementName;
}
public void setAbstractElementName(String abstractElementName) {
this.abstractElementName = abstractElementName;
}
public Hashtable getConcreteElements() {
return concreteElements;
}
public void setConcreteElements(Hashtable concreteElements) {
this.concreteElements = concreteElements;
}
public void addConcreteElement(String concreteElementName, String concreteOperation) {
this.concreteElements.put(concreteElementName, concreteOperation);
}
public String toXml() {
StringBuffer xmlBuffer = new StringBuffer();
xmlBuffer.append("<package>" + packageName + "</package>");
xmlBuffer.append("<abstract-visitor-name>" + abstractVisitorName + "</abstract-visitor-name>");
Vector concreteVisitorNames = concreteVisitors;
if (concreteVisitorNames.size() > 0) {
xmlBuffer.append("<concrete-visitors>");
for (int i = 0; i < concreteVisitorNames.size(); i++) {
xmlBuffer.append("<concrete-visitor-name>");
xmlBuffer.append(concreteVisitorNames.elementAt(i));
xmlBuffer.append("</concrete-visitor-name>");
}
xmlBuffer.append("</concrete-visitors>");
}
xmlBuffer.append("<abstract-element-name>" + abstractElementName + "</abstract-element-name>");
Hashtable concreteElem = concreteElements;
if (!concreteElem.isEmpty()) {
Enumeration keys = concreteElem.keys();
xmlBuffer.append("<concrete-elements>");
while (keys.hasMoreElements()) {
String concreteElementName = keys.nextElement().toString();
String elementOperation = concreteElem.get(concreteElementName).toString();
xmlBuffer.append("<concrete-element>");
xmlBuffer.append("<concrete-element-name>");
xmlBuffer.append(concreteElementName.toString());
xmlBuffer.append("</concrete-element-name>");
xmlBuffer.append("<element-operation-name>");
xmlBuffer.append(elementOperation.toString());
xmlBuffer.append("</element-operation-name>");
xmlBuffer.append("</concrete-element>");
}
xmlBuffer.append("</concrete-elements>");
}
xmlBuffer.append("</pattern>");
return xmlBuffer.toString();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?