001 /** 002 * ======================================== 003 * JFreeReport : a free Java report library 004 * ======================================== 005 * 006 * Project Info: http://reporting.pentaho.org/ 007 * 008 * (C) Copyright 2000-2007, by Object Refinery Limited, Pentaho Corporation and Contributors. 009 * 010 * This library is free software; you can redistribute it and/or modify it under the terms 011 * of the GNU Lesser General Public License as published by the Free Software Foundation; 012 * either version 2.1 of the License, or (at your option) any later version. 013 * 014 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 015 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 016 * See the GNU Lesser General Public License for more details. 017 * 018 * You should have received a copy of the GNU Lesser General Public License along with this 019 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 020 * Boston, MA 02111-1307, USA. 021 * 022 * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 023 * in the United States and other countries.] 024 * 025 * ------------ 026 * $Id: ActionCategory.java 3525 2007-10-16 11:43:48Z tmorgner $ 027 * ------------ 028 * (C) Copyright 2000-2005, by Object Refinery Limited. 029 * (C) Copyright 2005-2007, by Pentaho Corporation. 030 */ 031 032 package org.jfree.report.modules.gui.swing.preview; 033 034 import org.jfree.report.modules.gui.swing.common.SwingGuiContext; 035 import org.jfree.util.ResourceBundleSupport; 036 037 /** 038 * Creation-Date: 01.12.2006, 18:49:32 039 * 040 * @author Thomas Morgner 041 */ 042 public class ActionCategory implements Comparable 043 { 044 private String resourceBase; 045 private String resourcePrefix; 046 private int position; 047 private ResourceBundleSupport resources; 048 private String name; 049 050 public ActionCategory() 051 { 052 name = ""; 053 } 054 055 public void initialize(final SwingGuiContext context) 056 { 057 resources = new ResourceBundleSupport 058 (context.getLocale(), resourceBase); 059 } 060 061 public String getResourceBase() 062 { 063 return resourceBase; 064 } 065 066 public void setResourceBase(final String resourceBase) 067 { 068 this.resourceBase = resourceBase; 069 } 070 071 public String getResourcePrefix() 072 { 073 return resourcePrefix; 074 } 075 076 public void setResourcePrefix(final String resourcePrefix) 077 { 078 this.resourcePrefix = resourcePrefix; 079 } 080 081 public int getPosition() 082 { 083 return position; 084 } 085 086 public void setPosition(final int position) 087 { 088 this.position = position; 089 } 090 091 public String getName() 092 { 093 return name; 094 } 095 096 public void setName(final String name) 097 { 098 if (name == null) 099 { 100 throw new NullPointerException(); 101 } 102 this.name = name; 103 } 104 105 /** 106 * Returns the display name for the export action. 107 * 108 * @return The display name. 109 */ 110 public String getDisplayName() 111 { 112 return resources.getString(resourcePrefix + "name"); 113 } 114 115 /** 116 * Returns the short description for the export action. 117 * 118 * @return The short description. 119 */ 120 public String getShortDescription() 121 { 122 return resources.getString(resourcePrefix + "description"); 123 } 124 125 /** 126 * Returns the mnemonic key code. 127 * 128 * @return The code. 129 */ 130 public Integer getMnemonicKey() 131 { 132 return resources.getOptionalMnemonic(resourcePrefix + "mnemonic"); 133 } 134 135 public boolean equals(final Object o) 136 { 137 if (this == o) 138 { 139 return true; 140 } 141 if (o == null || getClass() != o.getClass()) 142 { 143 return false; 144 } 145 146 final ActionCategory that = (ActionCategory) o; 147 148 if (position != that.position) 149 { 150 return false; 151 } 152 if (!name.equals(that.name)) 153 { 154 return false; 155 } 156 157 return true; 158 } 159 160 public int hashCode() 161 { 162 int result = position; 163 result = 29 * result + name.hashCode(); 164 return result; 165 } 166 167 /** 168 * Compares this object with the specified object for order. Returns a 169 * negative integer, zero, or a positive integer as this object is less than, 170 * equal to, or greater than the specified object.<p> 171 * <p/> 172 * 173 * @param o the Object to be compared. 174 * @return a negative integer, zero, or a positive integer as this object is 175 * less than, equal to, or greater than the specified object. 176 * @throws ClassCastException if the specified object's type prevents it from 177 * being compared to this Object. 178 */ 179 public int compareTo(final Object o) 180 { 181 final ActionCategory other = (ActionCategory) o; 182 if (position < other.position) 183 { 184 return -1; 185 } 186 if (position > other.position) 187 { 188 return 1; 189 } 190 return name.compareTo(other.name); 191 } 192 193 public String toString() 194 { 195 return "ActionCategory{" + 196 "name='" + name + '\'' + 197 ", position=" + position + 198 ", resourceBase='" + resourceBase + '\'' + 199 ", resourcePrefix='" + resourcePrefix + '\'' + 200 ", resources=" + resources + 201 '}'; 202 } 203 }