//# 0 errors, 177 messages
//#
/*
    //#AliasTableModel.java:1:1: class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#AliasTableModel.java:1:1: method: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__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.addons.ui_swing.dialogs.aliases;

import com.dmdirc.actions.wrappers.Alias;
import com.dmdirc.actions.ActionCondition;

import java.util.ArrayList;
import java.util.List;

import javax.swing.table.AbstractTableModel;

/**
 * Table model for displaying aliases.
 */
public final class AliasTableModel extends AbstractTableModel {
    
    /**
     * 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 = 3;
    
    /** Data list. */
    private List<Alias> aliases;
    
    /** Creates a new instance of AliasTableModel. */
    public AliasTableModel() {
        this(new ArrayList<Alias>());
    //#AliasTableModel.java:50: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()
    //#input(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): new ArrayList(AliasTableModel#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): this.aliases
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): new ArrayList(AliasTableModel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): this.aliases == &new ArrayList(AliasTableModel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): new ArrayList(AliasTableModel#1) num objects == 1
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): Effects-of-calling:javax.swing.table.AbstractTableModel
    //#unanalyzed(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()): Effects-of-calling:java.util.ArrayList
    }
    //#AliasTableModel.java:51: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel()
    
    /**
     * Creates a new instance of AliasTableModel.
     *
     * @param aliases List of aliases
     */
    public AliasTableModel(final List<Alias> aliases) {
        super();
    //#AliasTableModel.java:59: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)
    //#input(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): aliases
    //#input(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): this
    //#output(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): new ArrayList(AliasTableModel#1) num objects
    //#output(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): this.aliases
    //#new obj(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): new ArrayList(AliasTableModel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): this.aliases == &new ArrayList(AliasTableModel#1)
    //#post(void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)): new ArrayList(AliasTableModel#1) num objects == 1
        
        this.aliases = new ArrayList<Alias>(aliases);
    }
    //#AliasTableModel.java:62: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel(List)
    
    /**
     * Sets the alias list.
     *
     * @param aliases List of aliases
     */
    public void setAliases(final List<Alias> aliases) {
        this.aliases = new ArrayList<Alias>(aliases);
    //#AliasTableModel.java:70: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.setAliases(List)
    //#input(void setAliases(List)): aliases
    //#input(void setAliases(List)): this
    //#output(void setAliases(List)): new ArrayList(setAliases#1) num objects
    //#output(void setAliases(List)): this.aliases
    //#new obj(void setAliases(List)): new ArrayList(setAliases#1)
    //#post(void setAliases(List)): this.aliases == &new ArrayList(setAliases#1)
    //#post(void setAliases(List)): new ArrayList(setAliases#1) num objects == 1
        
        fireTableDataChanged();
    //#AliasTableModel.java:72: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableDataChanged()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void setAliases(List)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableDataChanged()
    }
    //#AliasTableModel.java:73: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.setAliases(List)
    
    /** {@inheritDoc} */
    public int getRowCount() {
        return aliases.size();
    //#AliasTableModel.java:77: method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getRowCount()
    //#input(int getRowCount()): this
    //#input(int getRowCount()): this.aliases
    //#output(int getRowCount()): return_value
    //#pre[2] (int getRowCount()): this.aliases != null
    //#post(int getRowCount()): init'ed(return_value)
    //#AliasTableModel.java:77: end of method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getRowCount()
    }
    
    /** {@inheritDoc} */
    public int getColumnCount() {
        return 3;
    //#AliasTableModel.java:82: method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnCount()
    //#output(int getColumnCount()): return_value
    //#post(int getColumnCount()): return_value == 3
    //#AliasTableModel.java:82: end of method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnCount()
    }
    
    /** {@inheritDoc} */
    public String getColumnName(final int columnIndex) {
        switch(columnIndex) {
    //#AliasTableModel.java:87: method: String com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnName(int)
    //#input(String getColumnName(int)): "Unknown column: "._tainted
    //#input(String getColumnName(int)): columnIndex
    //#output(String getColumnName(int)): return_value
    //#pre[1] (String getColumnName(int)): columnIndex in {0..2}
    //#post(String getColumnName(int)): return_value in Addr_Set{&"Command",&"# of Arguments",&"Response"}
    //#test_vector(String getColumnName(int)): columnIndex: {0}, {1}, {2}
            case 0:
                return "Command";
            case 1:
                return "# of Arguments";
            case 2:
                return "Response";
            default:
                throw new IllegalArgumentException("Unknown column: "
    //#AliasTableModel.java:95: end of method: String com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnName(int)
                        + columnIndex);
        }
    }
    
    /** {@inheritDoc} */
    public Class<?> getColumnClass(final int columnIndex) {
        switch(columnIndex) {
    //#AliasTableModel.java:102: method: Class com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnClass(int)
    //#input(Class getColumnClass(int)): "Unknown column: "._tainted
    //#input(Class getColumnClass(int)): columnIndex
    //#output(Class getColumnClass(int)): return_value
    //#pre[1] (Class getColumnClass(int)): columnIndex in {0..2}
    //#post(Class getColumnClass(int)): return_value in Addr_Set{&java.lang.String.__Class_Obj,&com.dmdirc.actions.ActionCondition.__Class_Obj,&[Ljava.lang.String;.__Class_Obj}
    //#test_vector(Class getColumnClass(int)): columnIndex: {0}, {1}, {2}
            case 0:
                return String.class;
            case 1:
                return ActionCondition.class;
            case 2:
                return String[].class;
            default:
                throw new IllegalArgumentException("Unknown column: "
    //#AliasTableModel.java:110: end of method: Class com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getColumnClass(int)
                        + columnIndex);
        }
    }
    
    /** {@inheritDoc} */
    public boolean isCellEditable(final int rowIndex, final int columnIndex) {
        return false;
    //#AliasTableModel.java:117: method: bool com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.isCellEditable(int, int)
    //#output(bool isCellEditable(int, int)): return_value
    //#post(bool isCellEditable(int, int)): return_value == 0
    //#AliasTableModel.java:117: end of method: bool com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.isCellEditable(int, int)
    }
    
    /** {@inheritDoc} */
    public Object getValueAt(final int rowIndex, final int columnIndex) {
        if (aliases.size() <= rowIndex) {
    //#AliasTableModel.java:122: method: Object com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getValueAt(int, int)
    //#input(Object getValueAt(int, int)): " >= "._tainted
    //#input(Object getValueAt(int, int)): "Unknown column: "._tainted
    //#input(Object getValueAt(int, int)): columnIndex
    //#input(Object getValueAt(int, int)): rowIndex
    //#input(Object getValueAt(int, int)): this
    //#input(Object getValueAt(int, int)): this.aliases
    //#output(Object getValueAt(int, int)): return_value
    //#pre[1] (Object getValueAt(int, int)): columnIndex in {0..2}
    //#pre[2] (Object getValueAt(int, int)): rowIndex in {0..4_294_967_294}
    //#pre[4] (Object getValueAt(int, int)): this.aliases != null
    //#presumption(Object getValueAt(int, int)): java.util.List:get(...)@130 != null
    //#presumption(Object getValueAt(int, int)): java.util.List:get(...)@132 != null
    //#presumption(Object getValueAt(int, int)): java.util.List:get(...)@134 != null
    //#presumption(Object getValueAt(int, int)): java.util.List:size(...)@122 >= 1
    //#presumption(Object getValueAt(int, int)): java.util.List:size(...)@122 - rowIndex in {1..4_294_967_295}
    //#post(Object getValueAt(int, int)): init'ed(return_value)
    //#test_vector(Object getValueAt(int, int)): columnIndex: {0}, {1}, {2}
            throw new IndexOutOfBoundsException(rowIndex + " >= " + aliases.size());
        }
        if (rowIndex < 0) {
            throw new IllegalArgumentException("Must specify a positive integer");
        }
        switch(columnIndex) {
            case 0:
                return aliases.get(rowIndex).getCommand();
    //#AliasTableModel.java:130: Warning: method not available - call not analyzed
    //#    call on String com.dmdirc.actions.wrappers.Alias:getCommand()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: Object getValueAt(int, int)
    //#    unanalyzed callee: String com.dmdirc.actions.wrappers.Alias:getCommand()
            case 1:
                return aliases.get(rowIndex).getArgsArgument();
    //#AliasTableModel.java:132: Warning: method not available - call not analyzed
    //#    call on ActionCondition com.dmdirc.actions.wrappers.Alias:getArgsArgument()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: Object getValueAt(int, int)
    //#    unanalyzed callee: ActionCondition com.dmdirc.actions.wrappers.Alias:getArgsArgument()
            case 2:
                return aliases.get(rowIndex).getResponse();
    //#AliasTableModel.java:134: Warning: method not available - call not analyzed
    //#    call on String[] com.dmdirc.actions.wrappers.Alias:getResponse()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: Object getValueAt(int, int)
    //#    unanalyzed callee: String[] com.dmdirc.actions.wrappers.Alias:getResponse()
            default:
                throw new IllegalArgumentException("Unknown column: "
    //#AliasTableModel.java:136: end of method: Object com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getValueAt(int, int)
                        + columnIndex);
        }
    }
    
    /** {@inheritDoc} */
    public void setValueAt(final Object aValue, final int rowIndex,
            final int columnIndex) {
        if (aliases.size() <= rowIndex) {
    //#AliasTableModel.java:144: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.setValueAt(Object, int, int)
    //#input(void setValueAt(Object, int, int)): " >= "._tainted
    //#input(void setValueAt(Object, int, int)): "Unknown column: "._tainted
    //#input(void setValueAt(Object, int, int)): aValue
    //#input(void setValueAt(Object, int, int)): columnIndex
    //#input(void setValueAt(Object, int, int)): rowIndex
    //#input(void setValueAt(Object, int, int)): this
    //#input(void setValueAt(Object, int, int)): this.aliases
    //#pre[2] (void setValueAt(Object, int, int)): columnIndex in {0..2}
    //#pre[3] (void setValueAt(Object, int, int)): rowIndex in {0..4_294_967_294}
    //#pre[5] (void setValueAt(Object, int, int)): this.aliases != null
    //#presumption(void setValueAt(Object, int, int)): com.dmdirc.actions.wrappers.Alias:getArguments(...)@155 != null
    //#presumption(void setValueAt(Object, int, int)): java.util.List:get(...)@152 != null
    //#presumption(void setValueAt(Object, int, int)): java.util.List:get(...)@155 != null
    //#presumption(void setValueAt(Object, int, int)): java.util.List:get(...)@158 != null
    //#presumption(void setValueAt(Object, int, int)): java.util.List:size(...)@144 >= 1
    //#presumption(void setValueAt(Object, int, int)): java.util.List:size(...)@144 - rowIndex in {1..4_294_967_295}
    //#test_vector(void setValueAt(Object, int, int)): columnIndex: {0}, {1}, {2}
            throw new IndexOutOfBoundsException(rowIndex + " >= " + aliases.size());
        }
        if (rowIndex < 0) {
            throw new IllegalArgumentException("Must specify a positive integer");
        }
        switch(columnIndex) {
            case 0:
                aliases.get(rowIndex).setCommand((String) aValue);
    //#AliasTableModel.java:152: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.wrappers.Alias:setCommand(String)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void setValueAt(Object, int, int)
    //#    unanalyzed callee: void com.dmdirc.actions.wrappers.Alias:setCommand(String)
                break;
            case 1:
                aliases.get(rowIndex).getArguments().set(1, (ActionCondition) aValue);
    //#AliasTableModel.java:155: Warning: method not available - call not analyzed
    //#    call on List com.dmdirc.actions.wrappers.Alias:getArguments()
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void setValueAt(Object, int, int)
    //#    unanalyzed callee: List com.dmdirc.actions.wrappers.Alias:getArguments()
                break;
            case 2:
                aliases.get(rowIndex).setResponse((String[]) aValue);
    //#AliasTableModel.java:158: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.actions.wrappers.Alias:setResponse(String[])
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void setValueAt(Object, int, int)
    //#    unanalyzed callee: void com.dmdirc.actions.wrappers.Alias:setResponse(String[])
                break;
            default:
                throw new IllegalArgumentException("Unknown column: "
                        + columnIndex);
        }
        fireTableCellUpdated(rowIndex, columnIndex);
    //#AliasTableModel.java:164: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableCellUpdated(int, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void setValueAt(Object, int, int)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableCellUpdated(int, int)
    }
    //#AliasTableModel.java:165: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.setValueAt(Object, int, int)
    
    /**
     * Gets the alias at the specified row.
     *
     * @param rowIndex Row to retrieve
     *
     * @return Specified Alias
     */
    public Alias getAlias(final int rowIndex) {
        return aliases.get(rowIndex);
    //#AliasTableModel.java:175: method: Alias com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getAlias(int)
    //#input(Alias getAlias(int)): rowIndex
    //#input(Alias getAlias(int)): this
    //#input(Alias getAlias(int)): this.aliases
    //#output(Alias getAlias(int)): return_value
    //#pre[3] (Alias getAlias(int)): this.aliases != null
    //#post(Alias getAlias(int)): init'ed(return_value)
    //#AliasTableModel.java:175: end of method: Alias com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getAlias(int)
    }
    
    /**
     * Gets a list of all aliases (including deleted ones).
     *
     * @return Complete alias list
     */
    public List<Alias> getAliases() {
        return new ArrayList<Alias>(aliases);
    //#AliasTableModel.java:184: method: List com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getAliases()
    //#input(List getAliases()): this
    //#input(List getAliases()): this.aliases
    //#output(List getAliases()): new ArrayList(getAliases#1) num objects
    //#output(List getAliases()): return_value
    //#new obj(List getAliases()): new ArrayList(getAliases#1)
    //#pre[2] (List getAliases()): init'ed(this.aliases)
    //#post(List getAliases()): return_value == &new ArrayList(getAliases#1)
    //#post(List getAliases()): new ArrayList(getAliases#1) num objects == 1
    //#AliasTableModel.java:184: end of method: List com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.getAliases()
    }
    
    /**
     * Adds an alias to the list.
     *
     * @param alias Alias to add
     */
    public void addRow(final Alias alias) {
        aliases.add(alias);
    //#AliasTableModel.java:193: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.addRow(Alias)
    //#input(void addRow(Alias)): alias
    //#input(void addRow(Alias)): this
    //#input(void addRow(Alias)): this.aliases
    //#pre[3] (void addRow(Alias)): this.aliases != null
        fireTableRowsInserted(aliases.indexOf(alias), aliases.indexOf(alias));
    //#AliasTableModel.java:194: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableRowsInserted(int, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void addRow(Alias)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableRowsInserted(int, int)
    }
    //#AliasTableModel.java:195: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.addRow(Alias)
    
    /**
     * Removes a specified row from the list.
     *
     * @param row Row to remove
     */
    public void removeRow(final int row) {
        aliases.remove(row);
    //#AliasTableModel.java:203: method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.removeRow(int)
    //#input(void removeRow(int)): row
    //#input(void removeRow(int)): this
    //#input(void removeRow(int)): this.aliases
    //#pre[3] (void removeRow(int)): this.aliases != null
        fireTableRowsDeleted(row, row);
    //#AliasTableModel.java:204: Warning: method not available - call not analyzed
    //#    call on void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableRowsDeleted(int, int)
    //#    severity: INFORMATIONAL
    //#    class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
    //#    method: void removeRow(int)
    //#    unanalyzed callee: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel:fireTableRowsDeleted(int, int)
    }
    //#AliasTableModel.java:205: end of method: void com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.removeRow(int)
    
    /**
     * Returns the index of the specified alias.
     *
     * @param alias Alias to get index of
     *
     * @return Index of the alias or -1 if not found.
     */
    public int indexOf(final Alias alias) {
        return aliases.indexOf(alias);
    //#AliasTableModel.java:215: method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.indexOf(Alias)
    //#input(int indexOf(Alias)): alias
    //#input(int indexOf(Alias)): this
    //#input(int indexOf(Alias)): this.aliases
    //#output(int indexOf(Alias)): return_value
    //#pre[3] (int indexOf(Alias)): this.aliases != null
    //#post(int indexOf(Alias)): init'ed(return_value)
    //#AliasTableModel.java:215: end of method: int com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.indexOf(Alias)
    }
}
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/aliases/AliasTableModel]
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.addRow(Lcom/dmdirc/actions/wrappers/Alias;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getAlias(I)Lcom/dmdirc/actions/wrappers/Alias;
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getAliases()Ljava/util/List;
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnClass(I)Ljava/lang/Class;
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnCount()I
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnName(I)Ljava/lang/String;
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getRowCount()I
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getValueAt(II)Ljava/lang/Object;
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.indexOf(Lcom/dmdirc/actions/wrappers/Alias;)I
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.isCellEditable(II)Z
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.removeRow(I)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.setAliases(Ljava/util/List;)V
    //#output(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.setValueAt(Ljava/lang/Object;II)V
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Descendant_Table[com/dmdirc/addons/ui_swing/dialogs/aliases/AliasTableModel] == &__Dispatch_Table
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.addRow(Lcom/dmdirc/actions/wrappers/Alias;)V == &addRow
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getAlias(I)Lcom/dmdirc/actions/wrappers/Alias; == &getAlias
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getAliases()Ljava/util/List; == &getAliases
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnClass(I)Ljava/lang/Class; == &getColumnClass
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnCount()I == &getColumnCount
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getColumnName(I)Ljava/lang/String; == &getColumnName
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getRowCount()I == &getRowCount
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.getValueAt(II)Ljava/lang/Object; == &getValueAt
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.indexOf(Lcom/dmdirc/actions/wrappers/Alias;)I == &indexOf
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.isCellEditable(II)Z == &isCellEditable
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.removeRow(I)V == &removeRow
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.setAliases(Ljava/util/List;)V == &setAliases
    //#post(com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init): __Dispatch_Table.setValueAt(Ljava/lang/Object;II)V == &setValueAt
    //#AliasTableModel.java:: end of method: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel.com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel__static_init
    //#AliasTableModel.java:: end of class: com.dmdirc.addons.ui_swing.dialogs.aliases.AliasTableModel
