| /* |
| * Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v. 2.0 which is available at |
| * http://www.eclipse.org/legal/epl-2.0, |
| * or the Eclipse Distribution License v. 1.0 which is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause |
| */ |
| |
| // Contributors: |
| // Oracle - initial API and implementation from Oracle TopLink |
| package org.eclipse.persistence.sdo.helper; |
| |
| import org.eclipse.persistence.sdo.SDOType; |
| |
| /** |
| * <p><b>Purpose</b>: This class maintains information about a generated class and its corresponding interface |
| * <p><b>Responsibilities</b>:<ul> |
| * <li> Hold the StringBuffer contents of the class and interface |
| * <li> When the close() method is called the attribute and method buffers are appended to the classbuffer |
| * and both the interface buffer and class buffer have the closing brace appended |
| * </ul> |
| */ |
| public class ClassBuffer { |
| private static final String lsep = System.getProperty("line.separator"); |
| private static final String lsep2 = lsep + lsep; |
| private String indent = ""; |
| private StringBuffer attributeBuffer; |
| private StringBuffer methodBuffer; |
| private StringBuffer classBuffer; |
| private StringBuffer interfaceBuffer; |
| private String interfaceName;//the generated interface name if applicable |
| private String className;//the name of the generated class |
| private String packageName;//the java package of the generated class and interface |
| private String uri;//the uri the sdo type corresponding to this class |
| private String sdoTypeName;//the sdo type name corresponding to this class |
| private boolean closed; |
| private boolean generateInterface; |
| private SDOType sdoType; |
| private SDOClassGeneratorListener sdoClassGeneratorListener; |
| |
| public ClassBuffer(SDOClassGeneratorListener sdoClassGeneratorListener) { |
| setAttributeBuffer(new StringBuffer()); |
| setMethodBuffer(new StringBuffer()); |
| setClassBuffer(new StringBuffer()); |
| setInterfaceBuffer(new StringBuffer()); |
| this.sdoClassGeneratorListener = sdoClassGeneratorListener; |
| } |
| |
| public void setAttributeBuffer(StringBuffer attributeBuffer) { |
| this.attributeBuffer = attributeBuffer; |
| } |
| |
| public StringBuffer getAttributeBuffer() { |
| return attributeBuffer; |
| } |
| |
| public void setMethodBuffer(StringBuffer methodBuffer) { |
| this.methodBuffer = methodBuffer; |
| } |
| |
| public StringBuffer getMethodBuffer() { |
| return methodBuffer; |
| } |
| |
| public void setClassBuffer(StringBuffer classBuffer) { |
| this.classBuffer = classBuffer; |
| } |
| |
| public StringBuffer getClassBuffer() { |
| return classBuffer; |
| } |
| |
| public void setInterfaceBuffer(StringBuffer interfaceBuffer) { |
| this.interfaceBuffer = interfaceBuffer; |
| } |
| |
| public StringBuffer getInterfaceBuffer() { |
| return interfaceBuffer; |
| } |
| |
| public void close() { |
| if (!closed) { |
| if (sdoClassGeneratorListener != null) { |
| sdoClassGeneratorListener.preImplAttributes(classBuffer); |
| } |
| classBuffer.append(attributeBuffer); |
| classBuffer.append(methodBuffer); |
| |
| classBuffer.append(lsep).append(this.indent).append("}").append(lsep2); |
| closed = true; |
| |
| if (isGenerateInterface()) { |
| interfaceBuffer.append(lsep).append(this.indent).append("}").append(lsep2); |
| } |
| } |
| } |
| |
| public void setGenerateInterface(boolean generateInterface) { |
| this.generateInterface = generateInterface; |
| } |
| |
| public boolean isGenerateInterface() { |
| return generateInterface; |
| } |
| |
| public void setInterfaceName(String interfaceName) { |
| this.interfaceName = interfaceName; |
| } |
| |
| public String getInterfaceName() { |
| return interfaceName; |
| } |
| |
| public void setClassName(String className) { |
| this.className = className; |
| } |
| |
| public String getClassName() { |
| return className; |
| } |
| |
| public void setPackageName(String packageName) { |
| this.packageName = packageName; |
| } |
| |
| public String getPackageName() { |
| return packageName; |
| } |
| |
| public void setUri(String uri) { |
| this.uri = uri; |
| } |
| |
| public String getUri() { |
| return uri; |
| } |
| |
| public void setSdoTypeName(String sdoTypeName) { |
| this.sdoTypeName = sdoTypeName; |
| } |
| |
| public String getSdoTypeName() { |
| return sdoTypeName; |
| } |
| |
| public void setSdoType(SDOType sdoType) { |
| this.sdoType = sdoType; |
| } |
| |
| public SDOType getSdoType() { |
| return sdoType; |
| } |
| } |