| /* |
| * Copyright 1999,2004 The Apache Software Foundation. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package org.apache.log4j.chainsaw; |
| |
| import java.awt.Cursor; |
| import java.awt.Point; |
| import java.awt.Toolkit; |
| import java.util.ArrayList; |
| import java.util.List; |
| |
| import javax.swing.ImageIcon; |
| |
| import org.apache.log4j.chainsaw.icons.ChainsawIcons; |
| |
| |
| /** |
| * @author Paul Smith <psmith@apache.org> |
| * |
| */ |
| public class ChainsawColumns { |
| private static final List columnNames = new ArrayList(); |
| |
| static { |
| columnNames.add(ChainsawConstants.LOGGER_COL_NAME); |
| columnNames.add(ChainsawConstants.TIMESTAMP_COL_NAME); |
| columnNames.add(ChainsawConstants.LEVEL_COL_NAME); |
| columnNames.add(ChainsawConstants.THREAD_COL_NAME); |
| columnNames.add(ChainsawConstants.MESSAGE_COL_NAME); |
| columnNames.add(ChainsawConstants.NDC_COL_NAME); |
| columnNames.add(ChainsawConstants.THROWABLE_COL_NAME); |
| columnNames.add(ChainsawConstants.CLASS_COL_NAME); |
| columnNames.add(ChainsawConstants.METHOD_COL_NAME); |
| columnNames.add(ChainsawConstants.FILE_COL_NAME); |
| columnNames.add(ChainsawConstants.LINE_COL_NAME); |
| |
| //NOTE: ID must ALWAYS be last field because the model adds this value itself as an identifier to the end of the consructed vector |
| columnNames.add(ChainsawConstants.ID_COL_NAME); |
| } |
| |
| public static final int INDEX_LOGGER_COL_NAME = 1; |
| public static final int INDEX_TIMESTAMP_COL_NAME = 2; |
| public static final int INDEX_LEVEL_COL_NAME = 3; |
| public static final int INDEX_THREAD_COL_NAME = 4; |
| public static final int INDEX_MESSAGE_COL_NAME = 5; |
| public static final int INDEX_NDC_COL_NAME = 6; |
| public static final int INDEX_THROWABLE_COL_NAME = 7; |
| public static final int INDEX_CLASS_COL_NAME = 8; |
| public static final int INDEX_METHOD_COL_NAME = 9; |
| public static final int INDEX_FILE_COL_NAME = 10; |
| public static final int INDEX_LINE_COL_NAME = 11; |
| public static final int INDEX_ID_COL_NAME = 12; |
| |
| public static final Cursor CURSOR_FOCUS_ON; |
| static{ |
| CURSOR_FOCUS_ON = Toolkit.getDefaultToolkit().createCustomCursor(new ImageIcon(ChainsawIcons.WINDOW_ICON).getImage(), new Point(3,3), "FocusOn"); |
| } |
| |
| private ChainsawColumns() { |
| } |
| |
| public static List getColumnsNames() { |
| return columnNames; |
| } |
| |
| /** |
| * Given the index which matches one of the static constants in this class, returns the resolved |
| * Column name as a string label. |
| * @param columnIndex (note this is a 1 based collection) |
| * @return column name |
| */ |
| public static String getColumnName(int columnIndex) { |
| return getColumnsNames().get(columnIndex - 1).toString(); |
| } |
| } |