/******************************************************************************* * Copyright (c) 2004, 2010 BREDEX GmbH. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * BREDEX GmbH - initial API and implementation and/or initial documentation *******************************************************************************/ package org.eclipse.jubula.tools.internal.utils.generator; import org.apache.commons.lang.StringUtils; /** * @author BREDEX GmbH * @created Jul 4, 2007 */ public class ToolkitInfo extends Info implements Comparable { // /** // * The components contained in this toolkit // */ // private List m_components; /** * The name used internally */ private String m_type; /** * The prefix to be used when generating help id's */ private String m_helpid; /** * <code>m_shortName</code> */ private String m_shortType; /** * @param name the displayable name * @param type the internally used name */ public ToolkitInfo(String name, String type) { super(name); m_type = type; calculateShortType(); setHelpidPrefix(); m_helpid = m_shortType.toUpperCase(); } /** * formats the toolkit type into a shorter version that will * use internally */ private void calculateShortType() { String shortType; String[] tokens = StringUtils.split(m_type, '.'); final int tokenLength = tokens.length; if (tokenLength > 0) { shortType = tokens[tokenLength - 1]; } else { shortType = m_type; } // Strip off ToolkitPlugin, so that we're left with Abstract, Swt, etc. final String needle = "ToolkitPlugin"; //$NON-NLS-1$ if (shortType.endsWith(needle)) { shortType = StringUtils.left(shortType, shortType.indexOf(needle)); } m_shortType = shortType; } /** * @return the shortName */ public String getShortType() { return m_shortType; } /** * @return the type */ public String getType() { return m_type; } /** * */ private void setHelpidPrefix() { m_helpid = m_shortType.toUpperCase(); } /** * @return the help id */ public String getHelpid() { return m_helpid; } /** * {@inheritDoc} */ public int compareTo(Object o) { // sort based on I18n Name return getI18nName().compareTo(((ToolkitInfo)o).getI18nName()); } }