📄 forkmessagewriter.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: ForkMessageWriter.java,v 1.2 2003/11/07 21:34:22 per_nyfelt Exp $package org.ozoneDB.tools.OPP.message;import org.ozoneDB.tools.OPP.message.command.*;import java.util.LinkedList;/** * * @author Joakim Ohlrogge */public class ForkMessageWriter implements MessageWriter { private int level = 0; private MessageWriter rootWriter; private LinkedList queue = new LinkedList(); private void enque(MessageCommand command) { if (level == 0) command.execute(); else queue.addLast(command); } private void dumpQueue() { while (!queue.isEmpty()) { MessageCommand command = (MessageCommand) queue.removeFirst(); command.execute(); } } public ForkMessageWriter(MessageWriter rootWriter) { this.rootWriter = rootWriter; } public void startGeneration(String object) { ++level; enque(new BeginCommand(rootWriter, object)); } public void error(String message) { enque(new ErrorCommand(rootWriter, message)); } public void warning(String message) { enque(new WarningCommand(rootWriter, message)); } public void warning(String filename, int row, String message) { enque(new LocationWarningCommand(rootWriter, message, filename, row)); } public void info(String message) { enque(new InfoCommand(rootWriter, message)); } public void debug(String message) { enque(new DebugCommand(rootWriter, message)); } public void endGeneration() { enque(new EndCommand(rootWriter)); --level; if (level == 0) dumpQueue(); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -