⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compositebuilder.java

📁 Java的面向对象数据库系统的源代码
💻 JAVA
字号:
// You can redistribute this software and/or modify it under the terms of// the Ozone Library License version 1 published by ozone-db.org.//// The original code and portions created by SMB are// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.//// $Id$package org.ozoneDB.tools.OPP.srcgen.builder;import org.ozoneDB.tools.OPP.srcgen.ClassBuilder;import org.ozoneDB.tools.OPP.srcgen.BuilderException;import org.ozoneDB.tools.OPP.message.MessageWriter;import org.ozoneDB.tools.OPP.message.ForkMessageWriter;import java.util.Set;import java.util.HashSet;import java.util.Iterator;/** * The composite builder allows building multiple structures in parallel from a single * source of direction. * @author Joakim Ohlrogge */public class CompositeBuilder implements ClassBuilder {    private Set builders;    public void init(MessageWriter msgWriter) {        // initialized all sub builders with a fork msg writer.        // The Fork writer makes sure all messages are grouped by sub builder.        for (Iterator iter = builders.iterator(); iter.hasNext();) {            ((ClassBuilder) iter.next()).init(new ForkMessageWriter(msgWriter));        }    }    public void beginClass(int modifier, String fullName, String superClass, String interfaces[]) throws BuilderException {        for (Iterator iter = builders.iterator(); iter.hasNext();) {            ((ClassBuilder) iter.next()).beginClass(modifier, fullName, superClass, interfaces);        }    }    public void makeConstructor(int modifier, ClassBuilder.Parameter parameters[], String exceptions[]) throws BuilderException {        for (Iterator iter = builders.iterator(); iter.hasNext();) {            ((ClassBuilder) iter.next()).makeConstructor(modifier, parameters, exceptions);        }    }    public void makeMethod(int modifier, String name, ClassBuilder.Parameter parameters[], String returnType, String exceptions[], int lockLevel) throws BuilderException {        for (Iterator iter = builders.iterator(); iter.hasNext();) {            ((ClassBuilder) iter.next()).makeMethod(modifier, name, parameters, returnType, exceptions, lockLevel);        }    }    public void endClass() throws BuilderException {        for (Iterator iter = builders.iterator(); iter.hasNext();) {            ((ClassBuilder) iter.next()).endClass();        }    }    public CompositeBuilder() {        this.builders = new HashSet();    }    /**     * Adds a builder to the composition     * @param builder The builder to add     */    public void addBuilder(ClassBuilder builder) {        builders.add(builder);    }    /**     * Removes a builder from the composition     * @param builder     */    public void removeBuilder(ClassBuilder builder) {        builders.remove(builder);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -