//# 0 errors, 391 messages
//#
/*
    //#Raw.java:1:1: class: com.dmdirc.Raw
    //#Raw.java:1:1: method: com.dmdirc.Raw.com.dmdirc.Raw__static_init
 * Copyright (c) 2006-2009 Chris Smith, Shane Mc Cormack, Gregory Holmes
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */

package com.dmdirc;

import com.dmdirc.logger.ErrorLevel;
import com.dmdirc.logger.Logger;
import com.dmdirc.parser.irc.IRCParser;
import com.dmdirc.parser.irc.callbacks.CallbackNotFoundException;
import com.dmdirc.parser.irc.callbacks.interfaces.IDataIn;
import com.dmdirc.parser.irc.callbacks.interfaces.IDataOut;
import com.dmdirc.ui.WindowManager;
import com.dmdirc.ui.interfaces.InputWindow;

import java.io.Serializable;

/**
 * Handles the raw window (which shows the user raw data being sent and
 * received to/from the server).
 * @author chris
 */
public final class Raw extends WritableFrameContainer implements IDataIn,
    //#Raw.java:41: method: Window com.dmdirc.Raw.getFrame()
    //#input(Window getFrame()): this
    //#input(Window getFrame()): this.window
    //#output(Window getFrame()): return_value
    //#pre[2] (Window getFrame()): init'ed(this.window)
    //#post(Window getFrame()): return_value == this.window
    //#post(Window getFrame()): init'ed(return_value)
    //#Raw.java:41: end of method: Window com.dmdirc.Raw.getFrame()
        IDataOut, Serializable {

    /**
     * A version number for this class. It should be changed whenever the class
     * structure is changed (or anything else that would prevent serialized
     * objects being unserialized with the new class).
     */
    private static final long serialVersionUID = 1;

    /** The server object that's being monitored. */
    private Server server;

    /** An InputWindow used for displaying the raw data.*/
    private InputWindow window;

    /**
     * Creates a new instance of Raw.
     *
     * @param newServer the server to monitor
     */
    public Raw(final Server newServer) {
        super("raw", newServer.getConfigManager());
    //#Raw.java:63: method: void com.dmdirc.Raw.com.dmdirc.Raw(Server)
    //#Raw.java:63: Warning: method not available - call not analyzed
    //#    call on ConfigManager com.dmdirc.Server:getConfigManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: ConfigManager com.dmdirc.Server:getConfigManager()
    //#Raw.java:63: Warning: suspicious precondition
    //#    The precondition for this.__Tag is not a contiguous range of values
    //#    severity: SUPPRESSED
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    suspicious precondition index: [6]
    //#    Attribs:  Soft
    //#input(void com.dmdirc.Raw(Server)): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Channel.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/CustomWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Channel]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/CustomWindow]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/FrameContainer]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/GlobalWindow]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/MessageTarget]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Query]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Raw]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Server]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/WritableFrameContainer]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCChatWindow]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCFrame]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCPlugin$3]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCSendWindow]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Descendant_Table[others]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/FrameContainer.java.awt.Color.BLACK
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/GlobalWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Main.controller
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/MessageTarget.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Query.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Server.__Descendant_Table[com/dmdirc/Server]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Server.__Descendant_Table[others]
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Server.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/InputWindow;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Server.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/Server.__Dispatch_Table.getTabCompleter()Lcom/dmdirc/ui/input/TabCompleter;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/WritableFrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/addons/dcc/DCCChatWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/addons/dcc/DCCFrame.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/addons/dcc/DCCPlugin$3.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): com/dmdirc/addons/dcc/DCCSendWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void com.dmdirc.Raw(Server)): newServer
    //#input(void com.dmdirc.Raw(Server)): newServer.__Tag
    //#input(void com.dmdirc.Raw(Server)): newServer.tabCompleter
    //#input(void com.dmdirc.Raw(Server)): newServer.window
    //#input(void com.dmdirc.Raw(Server)): this
    //#input(void com.dmdirc.Raw(Server)): this.__Tag
    //#output(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2) num objects
    //#output(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2).__Tag
    //#output(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2).this$0
    //#output(void com.dmdirc.Raw(Server)): new ListenerList(FrameContainer#1) num objects
    //#output(void com.dmdirc.Raw(Server)): new ListenerList(FrameContainer#1).__Lock
    //#output(void com.dmdirc.Raw(Server)): this.__Tag
    //#output(void com.dmdirc.Raw(Server)): this.changer
    //#output(void com.dmdirc.Raw(Server)): this.config
    //#output(void com.dmdirc.Raw(Server)): this.icon
    //#output(void com.dmdirc.Raw(Server)): this.listeners
    //#output(void com.dmdirc.Raw(Server)): this.notification
    //#output(void com.dmdirc.Raw(Server)): this.server
    //#output(void com.dmdirc.Raw(Server)): this.window
    //#new obj(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2)
    //#new obj(void com.dmdirc.Raw(Server)): new ListenerList(FrameContainer#1)
    //#pre[1] (void com.dmdirc.Raw(Server)): com/dmdirc/Main.controller != null
    //#pre[2] (void com.dmdirc.Raw(Server)): newServer != null
    //#pre[3] (void com.dmdirc.Raw(Server)): newServer.__Tag == com/dmdirc/Server
    //#pre[5] (void com.dmdirc.Raw(Server)): newServer.window != null
    //#pre[6] (void com.dmdirc.Raw(Server)): (soft) this.__Tag in {com/dmdirc/Channel, com/dmdirc/CustomWindow, com/dmdirc/FrameContainer, com/dmdirc/GlobalWindow, com/dmdirc/MessageTarget, com/dmdirc/Query, com/dmdirc/Raw, com/dmdirc/Server, com/dmdirc/WritableFrameContainer, com/dmdirc/addons/dcc/DCCChatWindow, com/dmdirc/addons/dcc/DCCFrame, com/dmdirc/addons/dcc/DCCPlugin$3, com/dmdirc/addons/dcc/DCCSendWindow}
    //#presumption(void com.dmdirc.Raw(Server)): com.dmdirc.Server:getConfigManager(...)@63 != null
    //#presumption(void com.dmdirc.Raw(Server)): com.dmdirc.ui.interfaces.InputWindow:getInputHandler(...)@70 != null
    //#presumption(void com.dmdirc.Raw(Server)): com.dmdirc.ui.interfaces.UIController:getInputWindow(...)@67 != null
    //#presumption(void com.dmdirc.Raw(Server)): init'ed(com/dmdirc/FrameContainer.java.awt.Color.BLACK)
    //#post(void com.dmdirc.Raw(Server)): this.__Tag == old this.__Tag
    //#post(void com.dmdirc.Raw(Server)): this.__Tag in {com/dmdirc/Channel, com/dmdirc/CustomWindow, com/dmdirc/FrameContainer, com/dmdirc/GlobalWindow, com/dmdirc/MessageTarget, com/dmdirc/Query, com/dmdirc/Raw, com/dmdirc/Server, com/dmdirc/WritableFrameContainer, com/dmdirc/addons/dcc/DCCChatWindow, com/dmdirc/addons/dcc/DCCFrame, com/dmdirc/addons/dcc/DCCPlugin$3, com/dmdirc/addons/dcc/DCCSendWindow}
    //#post(void com.dmdirc.Raw(Server)): this.changer == &new FrameContainer$IconChanger(FrameContainer#2)
    //#post(void com.dmdirc.Raw(Server)): this.config != null
    //#post(void com.dmdirc.Raw(Server)): this.icon == &"raw"
    //#post(void com.dmdirc.Raw(Server)): this.listeners == &new ListenerList(FrameContainer#1)
    //#post(void com.dmdirc.Raw(Server)): this.notification == com/dmdirc/FrameContainer.java.awt.Color.BLACK
    //#post(void com.dmdirc.Raw(Server)): init'ed(this.notification)
    //#post(void com.dmdirc.Raw(Server)): this.server == newServer
    //#post(void com.dmdirc.Raw(Server)): this.server != null
    //#post(void com.dmdirc.Raw(Server)): this.window != null
    //#post(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2) num objects == 1
    //#post(void com.dmdirc.Raw(Server)): new ListenerList(FrameContainer#1) num objects == 1
    //#post(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2).__Tag == com/dmdirc/FrameContainer$IconChanger
    //#post(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2).this$0 == this
    //#post(void com.dmdirc.Raw(Server)): new FrameContainer$IconChanger(FrameContainer#2).this$0 != null
    //#post(void com.dmdirc.Raw(Server)): init'ed(new ListenerList(FrameContainer#1).__Lock)
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:getFrame
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.FrameContainer
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.ui.IconManager:getIconManager
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.ui.IconManager:getIcon
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.util.ListenerList:get
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:java.util.List:iterator
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:java.util.Iterator:hasNext
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:java.util.Iterator:next
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.interfaces.IconChangeListener:iconChanged
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.config.ConfigManager:removeListener
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.config.ConfigManager:addChangeListener
    //#unanalyzed(void com.dmdirc.Raw(Server)): Effects-of-calling:com.dmdirc.util.ListenerList

        this.server = newServer;

        window = Main.getUI().getInputWindow(this, newServer.getFrame().getCommandParser());
    //#Raw.java:67: Warning: method not available - call not analyzed
    //#    call on CommandParser com.dmdirc.ui.interfaces.InputWindow:getCommandParser()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: CommandParser com.dmdirc.ui.interfaces.InputWindow:getCommandParser()
    //#Raw.java:67: Warning: method not available - call not analyzed
    //#    call on InputWindow com.dmdirc.ui.interfaces.UIController:getInputWindow(WritableFrameContainer, CommandParser)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: InputWindow com.dmdirc.ui.interfaces.UIController:getInputWindow(WritableFrameContainer, CommandParser)
        WindowManager.addWindow(server.getFrame(), window);
    //#Raw.java:68: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.WindowManager:addWindow(Window, Window)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: void com.dmdirc.ui.WindowManager:addWindow(Window, Window)
        window.setTitle("(Raw log)");
    //#Raw.java:69: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.interfaces.InputWindow:setTitle(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: void com.dmdirc.ui.interfaces.InputWindow:setTitle(String)
        window.getInputHandler().setTabCompleter(server.getTabCompleter());
    //#Raw.java:70: Warning: method not available - call not analyzed
    //#    call on InputHandler com.dmdirc.ui.interfaces.InputWindow:getInputHandler()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: InputHandler com.dmdirc.ui.interfaces.InputWindow:getInputHandler()
    //#Raw.java:70: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.input.InputHandler:setTabCompleter(TabCompleter)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: void com.dmdirc.ui.input.InputHandler:setTabCompleter(TabCompleter)

        window.open();
    //#Raw.java:72: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.interfaces.InputWindow:open()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void com.dmdirc.Raw(Server)
    //#    unanalyzed callee: void com.dmdirc.ui.interfaces.InputWindow:open()
    }
    //#Raw.java:73: end of method: void com.dmdirc.Raw.com.dmdirc.Raw(Server)

    /**
     * Registers the data callbacks for this raw window.
     */
    public void registerCallbacks() {
        try {
            server.getParser().getCallbackManager().addCallback("OnDataIn", this);
    //#Raw.java:80: method: void com.dmdirc.Raw.registerCallbacks()
    //#Raw.java:80: Warning: method not available - call not analyzed
    //#    call on CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void registerCallbacks()
    //#    unanalyzed callee: CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#Raw.java:80: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.parser.irc.callbacks.CallbackManager:addCallback(String, ICallbackInterface)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void registerCallbacks()
    //#    unanalyzed callee: void com.dmdirc.parser.irc.callbacks.CallbackManager:addCallback(String, ICallbackInterface)
    //#input(void registerCallbacks()): com.dmdirc.logger.ErrorLevel.HIGH
    //#input(void registerCallbacks()): com/dmdirc/Server.__Descendant_Table[com/dmdirc/Server]
    //#input(void registerCallbacks()): com/dmdirc/Server.__Descendant_Table[others]
    //#input(void registerCallbacks()): com/dmdirc/Server.__Dispatch_Table.getParser()Lcom/dmdirc/parser/irc/IRCParser;
    //#input(void registerCallbacks()): this
    //#input(void registerCallbacks()): this.server
    //#input(void registerCallbacks()): this.server.__Tag
    //#input(void registerCallbacks()): this.server.parser
    //#pre[2] (void registerCallbacks()): (soft) this.server != null
    //#pre[3] (void registerCallbacks()): (soft) this.server.__Tag == com/dmdirc/Server
    //#pre[4] (void registerCallbacks()): (soft) this.server.parser != null
    //#presumption(void registerCallbacks()): init'ed(com.dmdirc.logger.ErrorLevel.HIGH)
    //#presumption(void registerCallbacks()): com.dmdirc.parser.irc.IRCParser:getCallbackManager(...)@80 != null
    //#presumption(void registerCallbacks()): com.dmdirc.parser.irc.IRCParser:getCallbackManager(...)@81 != null
            server.getParser().getCallbackManager().addCallback("OnDataOut", this);
    //#Raw.java:81: Warning: method not available - call not analyzed
    //#    call on CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void registerCallbacks()
    //#    unanalyzed callee: CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#Raw.java:81: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.parser.irc.callbacks.CallbackManager:addCallback(String, ICallbackInterface)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void registerCallbacks()
    //#    unanalyzed callee: void com.dmdirc.parser.irc.callbacks.CallbackManager:addCallback(String, ICallbackInterface)
        } catch (CallbackNotFoundException ex) {
            Logger.appError(ErrorLevel.HIGH, "Unable to register raw callbacks", ex);
    //#Raw.java:83: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.logger.Logger:appError(ErrorLevel, String, Throwable)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void registerCallbacks()
    //#    unanalyzed callee: void com.dmdirc.logger.Logger:appError(ErrorLevel, String, Throwable)
        }
    }
    //#Raw.java:85: end of method: void com.dmdirc.Raw.registerCallbacks()

    /** {@inheritDoc} */
    @Override
    public void windowClosing() {
        // 1: Make the window non-visible
        window.setVisible(false);
    //#Raw.java:91: method: void com.dmdirc.Raw.windowClosing()
    //#Raw.java:91: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.interfaces.InputWindow:setVisible(bool)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void windowClosing()
    //#    unanalyzed callee: void com.dmdirc.ui.interfaces.InputWindow:setVisible(bool)
    //#input(void windowClosing()): com/dmdirc/Server.__Descendant_Table[com/dmdirc/Server]
    //#input(void windowClosing()): com/dmdirc/Server.__Descendant_Table[others]
    //#input(void windowClosing()): com/dmdirc/Server.__Dispatch_Table.delRaw()V
    //#input(void windowClosing()): com/dmdirc/Server.__Dispatch_Table.getParser()Lcom/dmdirc/parser/irc/IRCParser;
    //#input(void windowClosing()): this
    //#input(void windowClosing()): this.server
    //#input(void windowClosing()): this.server.__Tag
    //#input(void windowClosing()): this.server.parser
    //#input(void windowClosing()): this.window
    //#output(void windowClosing()): this.server
    //#output(void windowClosing()): this.server.raw
    //#output(void windowClosing()): this.window
    //#pre[5] (void windowClosing()): this.server != null
    //#pre[6] (void windowClosing()): this.window != null
    //#pre[8] (void windowClosing()): this.server.__Tag == com/dmdirc/Server
    //#pre[9] (void windowClosing()): init'ed(this.server.parser)
    //#presumption(void windowClosing()): com.dmdirc.parser.irc.IRCParser:getCallbackManager(...)@95 != null
    //#post(void windowClosing()): this.server == null
    //#post(void windowClosing()): this.server.raw == null
    //#post(void windowClosing()): this.window == null
    //#test_vector(void windowClosing()): this.server.parser: Addr_Set{null}, Inverse{null}

        // 2: Remove any callbacks or listeners
        if (server != null && server.getParser() != null) {
    //#Raw.java:94: Warning: test always goes same way
    //#    Test predetermined because this.server != null
    //#    severity: LOW
    //#    class: com.dmdirc.Raw
    //#    method: void windowClosing()
    //#    from bb: Entry_BB_1
    //#    live edge: Entry_BB_1-->bb_2
    //#    tested vn: this.server == null
    //#    tested vn values: {0}
            server.getParser().getCallbackManager().delAllCallback(this);
    //#Raw.java:95: Warning: method not available - call not analyzed
    //#    call on CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void windowClosing()
    //#    unanalyzed callee: CallbackManager com.dmdirc.parser.irc.IRCParser:getCallbackManager()
    //#Raw.java:95: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.parser.irc.callbacks.CallbackManager:delAllCallback(ICallbackInterface)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void windowClosing()
    //#    unanalyzed callee: void com.dmdirc.parser.irc.callbacks.CallbackManager:delAllCallback(ICallbackInterface)
        }

        // 3: Trigger any actions neccessary
        // 4: Trigger action for the window closing

        // 5: Inform any parents that the window is closing
        server.delRaw();

        // 6: Remove the window from the window manager
        WindowManager.removeWindow(window);
    //#Raw.java:105: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.ui.WindowManager:removeWindow(Window)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void windowClosing()
    //#    unanalyzed callee: void com.dmdirc.ui.WindowManager:removeWindow(Window)

        // 7: Remove any references to the window and parents
        window = null;
        server = null;
    }
    //#Raw.java:110: end of method: void com.dmdirc.Raw.windowClosing()

    /** {@inheritDoc} */
    @Override
    public InputWindow getFrame() {
        return window;
    //#Raw.java:115: method: InputWindow com.dmdirc.Raw.getFrame()
    //#input(InputWindow getFrame()): this
    //#input(InputWindow getFrame()): this.window
    //#output(InputWindow getFrame()): return_value
    //#pre[2] (InputWindow getFrame()): init'ed(this.window)
    //#post(InputWindow getFrame()): return_value == this.window
    //#post(InputWindow getFrame()): init'ed(return_value)
    //#Raw.java:115: end of method: InputWindow com.dmdirc.Raw.getFrame()
    }

    /** {@inheritDoc} */
    @Override
    public void onDataIn(final IRCParser tParser, final String sData) {
        addLine("rawIn", sData);
    //#Raw.java:121: method: void com.dmdirc.Raw.onDataIn(IRCParser, String)
    //#input(void onDataIn(IRCParser, String)): __Descendant_Table[com/dmdirc/Raw]
    //#input(void onDataIn(IRCParser, String)): __Descendant_Table[others]
    //#input(void onDataIn(IRCParser, String)): __Dispatch_Table.addLine(Ljava/lang/String;[Ljava/lang/Object;)V
    //#input(void onDataIn(IRCParser, String)): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/Channel.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/CustomWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Channel]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/CustomWindow]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/FrameContainer]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/GlobalWindow]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/MessageTarget]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Query]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Raw]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Server]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/WritableFrameContainer]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCChatWindow]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCFrame]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCPlugin$3]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCSendWindow]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Descendant_Table[others]
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/FrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/GlobalWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/MessageTarget.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/Query.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/Server.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/WritableFrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/addons/dcc/DCCChatWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/addons/dcc/DCCFrame.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/addons/dcc/DCCPlugin$3.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): com/dmdirc/addons/dcc/DCCSendWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataIn(IRCParser, String)): sData
    //#input(void onDataIn(IRCParser, String)): this
    //#input(void onDataIn(IRCParser, String)): this.__Tag
    //#pre[3] (void onDataIn(IRCParser, String)): this.__Tag == com/dmdirc/Raw
    //#unanalyzed(void onDataIn(IRCParser, String)): Effects-of-calling:getFrame
    //#unanalyzed(void onDataIn(IRCParser, String)): Effects-of-calling:com.dmdirc.ui.interfaces.Window:addLine
    }
    //#Raw.java:122: end of method: void com.dmdirc.Raw.onDataIn(IRCParser, String)

    /** {@inheritDoc} */
    @Override
    public void onDataOut(final IRCParser tParser, final String sData,
            final boolean bFromParser) {
        addLine("rawOut", sData);
    //#Raw.java:128: method: void com.dmdirc.Raw.onDataOut(IRCParser, String, bool)
    //#input(void onDataOut(IRCParser, String, bool)): __Descendant_Table[com/dmdirc/Raw]
    //#input(void onDataOut(IRCParser, String, bool)): __Descendant_Table[others]
    //#input(void onDataOut(IRCParser, String, bool)): __Dispatch_Table.addLine(Ljava/lang/String;[Ljava/lang/Object;)V
    //#input(void onDataOut(IRCParser, String, bool)): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/Channel.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/CustomWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Channel]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/CustomWindow]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/FrameContainer]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/GlobalWindow]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/MessageTarget]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Query]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Raw]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Server]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/WritableFrameContainer]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCChatWindow]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCFrame]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCPlugin$3]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/addons/dcc/DCCSendWindow]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Descendant_Table[others]
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/FrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/GlobalWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/MessageTarget.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/Query.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/Server.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/WritableFrameContainer.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/addons/dcc/DCCChatWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/addons/dcc/DCCFrame.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/addons/dcc/DCCPlugin$3.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): com/dmdirc/addons/dcc/DCCSendWindow.__Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#input(void onDataOut(IRCParser, String, bool)): sData
    //#input(void onDataOut(IRCParser, String, bool)): this
    //#input(void onDataOut(IRCParser, String, bool)): this.__Tag
    //#pre[3] (void onDataOut(IRCParser, String, bool)): this.__Tag == com/dmdirc/Raw
    //#unanalyzed(void onDataOut(IRCParser, String, bool)): Effects-of-calling:getFrame
    //#unanalyzed(void onDataOut(IRCParser, String, bool)): Effects-of-calling:com.dmdirc.ui.interfaces.Window:addLine
    }
    //#Raw.java:129: end of method: void com.dmdirc.Raw.onDataOut(IRCParser, String, bool)

    /** {@inheritDoc} */
    @Override
    public String toString() {
        return "Raw";
    //#Raw.java:134: method: String com.dmdirc.Raw.toString()
    //#output(String toString()): return_value
    //#post(String toString()): return_value == &"Raw"
    //#Raw.java:134: end of method: String com.dmdirc.Raw.toString()
    }

    /** {@inheritDoc} */
    @Override
    public Server getServer() {
        return server;
    //#Raw.java:140: method: Server com.dmdirc.Raw.getServer()
    //#input(Server getServer()): this
    //#input(Server getServer()): this.server
    //#output(Server getServer()): return_value
    //#pre[2] (Server getServer()): init'ed(this.server)
    //#post(Server getServer()): return_value == this.server
    //#post(Server getServer()): init'ed(return_value)
    //#Raw.java:140: end of method: Server com.dmdirc.Raw.getServer()
    }

    /** {@inheritDoc} */
    @Override
    public void sendLine(final String line) {
        server.sendLine(window.getTranscoder().encode(line));
    //#Raw.java:146: method: void com.dmdirc.Raw.sendLine(String)
    //#Raw.java:146: Warning: method not available - call not analyzed
    //#    call on StringTranscoder com.dmdirc.ui.interfaces.InputWindow:getTranscoder()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void sendLine(String)
    //#    unanalyzed callee: StringTranscoder com.dmdirc.ui.interfaces.InputWindow:getTranscoder()
    //#Raw.java:146: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.util.StringTranscoder:encode(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.Raw
    //#    method: void sendLine(String)
    //#    unanalyzed callee: String com.dmdirc.util.StringTranscoder:encode(String)
    //#input(void sendLine(String)): com/dmdirc/Server.__Descendant_Table[com/dmdirc/Server]
    //#input(void sendLine(String)): com/dmdirc/Server.__Descendant_Table[others]
    //#input(void sendLine(String)): com/dmdirc/Server.__Dispatch_Table.sendLine(Ljava/lang/String;)V
    //#input(void sendLine(String)): com/dmdirc/ServerState.CONNECTED
    //#input(void sendLine(String)): com/dmdirc/ServerStatus.__Descendant_Table[com/dmdirc/ServerStatus]
    //#input(void sendLine(String)): com/dmdirc/ServerStatus.__Descendant_Table[others]
    //#input(void sendLine(String)): com/dmdirc/ServerStatus.__Dispatch_Table.getState()Lcom/dmdirc/ServerState;
    //#input(void sendLine(String)): line
    //#input(void sendLine(String)): this
    //#input(void sendLine(String)): this.server
    //#input(void sendLine(String)): this.server.__Tag
    //#input(void sendLine(String)): this.server.myState
    //#input(void sendLine(String)): this.server.myState.__Tag
    //#input(void sendLine(String)): this.server.myState.state
    //#input(void sendLine(String)): this.server.parser
    //#input(void sendLine(String)): this.server.window
    //#input(void sendLine(String)): this.window
    //#pre[3] (void sendLine(String)): this.server != null
    //#pre[4] (void sendLine(String)): this.server.__Tag == com/dmdirc/Server
    //#pre[9] (void sendLine(String)): init'ed(this.server.parser)
    //#pre[11] (void sendLine(String)): this.window != null
    //#pre[5] (void sendLine(String)): (soft) this.server.myState != null
    //#pre[7] (void sendLine(String)): (soft) this.server.myState.__Tag == com/dmdirc/ServerStatus
    //#pre[8] (void sendLine(String)): (soft) init'ed(this.server.myState.state)
    //#pre[10] (void sendLine(String)): (soft) this.server.window != null
    //#presumption(void sendLine(String)): com.dmdirc.ui.interfaces.InputWindow:getTranscoder(...)@146 != null
    //#unanalyzed(void sendLine(String)): Effects-of-calling:java.lang.Throwable:__curr_excep_obj
    //#unanalyzed(void sendLine(String)): Effects-of-calling:com.dmdirc.ui.interfaces.ServerWindow:getTranscoder
    //#unanalyzed(void sendLine(String)): Effects-of-calling:com.dmdirc.util.StringTranscoder:encode
    //#unanalyzed(void sendLine(String)): Effects-of-calling:com.dmdirc.parser.irc.IRCParser:sendLine
    }
    //#Raw.java:147: end of method: void com.dmdirc.Raw.sendLine(String)

    /** {@inheritDoc} */
    @Override
    public int getMaxLineLength() {
        return server.getMaxLineLength();
    //#Raw.java:152: method: int com.dmdirc.Raw.getMaxLineLength()
    //#input(int getMaxLineLength()): com/dmdirc/Server.__Descendant_Table[com/dmdirc/Server]
    //#input(int getMaxLineLength()): com/dmdirc/Server.__Descendant_Table[others]
    //#input(int getMaxLineLength()): com/dmdirc/Server.__Dispatch_Table.getMaxLineLength()I
    //#input(int getMaxLineLength()): this
    //#input(int getMaxLineLength()): this.server
    //#input(int getMaxLineLength()): this.server.__Tag
    //#output(int getMaxLineLength()): return_value
    //#pre[2] (int getMaxLineLength()): this.server != null
    //#pre[3] (int getMaxLineLength()): this.server.__Tag == com/dmdirc/Server
    //#post(int getMaxLineLength()): return_value == 510
    //#Raw.java:152: end of method: int com.dmdirc.Raw.getMaxLineLength()
    }

}
    //#output(com.dmdirc.Raw__static_init): __Descendant_Table[com/dmdirc/Raw]
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.activateFrame()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.addIconChangeListener(Lcom/dmdirc/interfaces/IconChangeListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.addLine(Ljava/lang/String;[Ljava/lang/Object;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.addLine(Ljava/lang/StringBuffer;[Ljava/lang/Object;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.addNotificationListener(Lcom/dmdirc/interfaces/NotificationListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.addSelectionListener(Lcom/dmdirc/interfaces/SelectionListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.clearNotification()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.close()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.despatchNotification(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.doNotification(Ljava/lang/String;Lcom/dmdirc/actions/interfaces/ActionType;[Ljava/lang/Object;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getConfigManager()Lcom/dmdirc/config/ConfigManager;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/InputWindow;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getIcon()Ljavax/swing/Icon;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getMaxLineLength()I
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getNotification()Ljava/awt/Color;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getNumLines(Ljava/lang/String;)I
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.getServer()Lcom/dmdirc/Server;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.handleNotification(Ljava/lang/String;[Ljava/lang/Object;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.iconUpdated()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.modifyNotificationArgs(Ljava/util/List;Ljava/util/List;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.onDataIn(Lcom/dmdirc/parser/irc/IRCParser;Ljava/lang/String;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.onDataOut(Lcom/dmdirc/parser/irc/IRCParser;Ljava/lang/String;Z)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.ownsFrame(Lcom/dmdirc/ui/interfaces/Window;)Z
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.processNotificationArg(Ljava/lang/Object;Ljava/util/List;)Z
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.registerCallbacks()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.removeIconChangeListener(Lcom/dmdirc/interfaces/IconChangeListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.removeNotificationListener(Lcom/dmdirc/interfaces/NotificationListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.removeSelectionListener(Lcom/dmdirc/interfaces/SelectionListener;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.sendLine(Ljava/lang/String;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.sendNotification(Ljava/awt/Color;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.setIcon(Ljava/lang/String;)V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.splitLine(Ljava/lang/String;)Ljava/util/List;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.toString()Ljava/lang/String;
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.windowActivated()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.windowClosed()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.windowClosing()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.windowDeactivated()V
    //#output(com.dmdirc.Raw__static_init): __Dispatch_Table.windowOpened()V
    //#output(com.dmdirc.Raw__static_init): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Raw]
    //#output(com.dmdirc.Raw__static_init): com/dmdirc/WritableFrameContainer.__Descendant_Table[com/dmdirc/Raw]
    //#post(com.dmdirc.Raw__static_init): __Descendant_Table[com/dmdirc/Raw] == &__Dispatch_Table
    //#post(com.dmdirc.Raw__static_init): com/dmdirc/FrameContainer.__Descendant_Table[com/dmdirc/Raw] == &__Dispatch_Table
    //#post(com.dmdirc.Raw__static_init): com/dmdirc/WritableFrameContainer.__Descendant_Table[com/dmdirc/Raw] == &__Dispatch_Table
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.activateFrame()V == &com/dmdirc/FrameContainer.activateFrame
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.addIconChangeListener(Lcom/dmdirc/interfaces/IconChangeListener;)V == &com/dmdirc/FrameContainer.addIconChangeListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.addLine(Ljava/lang/String;[Ljava/lang/Object;)V == &com/dmdirc/FrameContainer.addLine
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.addLine(Ljava/lang/StringBuffer;[Ljava/lang/Object;)V == &com/dmdirc/FrameContainer.addLine
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.addNotificationListener(Lcom/dmdirc/interfaces/NotificationListener;)V == &com/dmdirc/FrameContainer.addNotificationListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.addSelectionListener(Lcom/dmdirc/interfaces/SelectionListener;)V == &com/dmdirc/FrameContainer.addSelectionListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.clearNotification()V == &com/dmdirc/FrameContainer.clearNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.close()V == &com/dmdirc/FrameContainer.close
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.despatchNotification(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V == &com/dmdirc/WritableFrameContainer.despatchNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.doNotification(Ljava/lang/String;Lcom/dmdirc/actions/interfaces/ActionType;[Ljava/lang/Object;)V == &com/dmdirc/WritableFrameContainer.doNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getConfigManager()Lcom/dmdirc/config/ConfigManager; == &com/dmdirc/FrameContainer.getConfigManager
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/InputWindow; == &getFrame
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getFrame()Lcom/dmdirc/ui/interfaces/Window; == &getFrame
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getIcon()Ljavax/swing/Icon; == &com/dmdirc/FrameContainer.getIcon
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getMaxLineLength()I == &getMaxLineLength
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getNotification()Ljava/awt/Color; == &com/dmdirc/FrameContainer.getNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getNumLines(Ljava/lang/String;)I == &com/dmdirc/WritableFrameContainer.getNumLines
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.getServer()Lcom/dmdirc/Server; == &getServer
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.handleNotification(Ljava/lang/String;[Ljava/lang/Object;)V == &com/dmdirc/WritableFrameContainer.handleNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.iconUpdated()V == &com/dmdirc/FrameContainer.iconUpdated
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.modifyNotificationArgs(Ljava/util/List;Ljava/util/List;)V == &com/dmdirc/WritableFrameContainer.modifyNotificationArgs
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.onDataIn(Lcom/dmdirc/parser/irc/IRCParser;Ljava/lang/String;)V == &onDataIn
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.onDataOut(Lcom/dmdirc/parser/irc/IRCParser;Ljava/lang/String;Z)V == &onDataOut
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.ownsFrame(Lcom/dmdirc/ui/interfaces/Window;)Z == &com/dmdirc/FrameContainer.ownsFrame
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.processNotificationArg(Ljava/lang/Object;Ljava/util/List;)Z == &com/dmdirc/WritableFrameContainer.processNotificationArg
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.registerCallbacks()V == &registerCallbacks
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.removeIconChangeListener(Lcom/dmdirc/interfaces/IconChangeListener;)V == &com/dmdirc/FrameContainer.removeIconChangeListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.removeNotificationListener(Lcom/dmdirc/interfaces/NotificationListener;)V == &com/dmdirc/FrameContainer.removeNotificationListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.removeSelectionListener(Lcom/dmdirc/interfaces/SelectionListener;)V == &com/dmdirc/FrameContainer.removeSelectionListener
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.sendLine(Ljava/lang/String;)V == &sendLine
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.sendNotification(Ljava/awt/Color;)V == &com/dmdirc/FrameContainer.sendNotification
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.setIcon(Ljava/lang/String;)V == &com/dmdirc/FrameContainer.setIcon
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.splitLine(Ljava/lang/String;)Ljava/util/List; == &com/dmdirc/WritableFrameContainer.splitLine
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.toString()Ljava/lang/String; == &toString
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.windowActivated()V == &com/dmdirc/FrameContainer.windowActivated
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.windowClosed()V == &com/dmdirc/FrameContainer.windowClosed
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.windowClosing()V == &windowClosing
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.windowDeactivated()V == &com/dmdirc/FrameContainer.windowDeactivated
    //#post(com.dmdirc.Raw__static_init): __Dispatch_Table.windowOpened()V == &com/dmdirc/FrameContainer.windowOpened
    //#Raw.java:: end of method: com.dmdirc.Raw.com.dmdirc.Raw__static_init
    //#Raw.java:: end of class: com.dmdirc.Raw
