📄 compositebuilder.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 + -