ch.unibe.iam.scg.archie.model.QueryLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for ch.unibe.iam.scg.archie.model.QueryLabelProvider.java

Source

/*******************************************************************************
 * Copyright (c) 2008 Dennis Schenk, Peter Siska.
 * 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:
 *     Dennis Schenk - initial implementation
 *     Peter Siska    - initial implementation
 *******************************************************************************/
package ch.unibe.iam.scg.archie.model;

import java.util.Currency;
import java.util.Locale;

import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;

import ch.rgw.tools.Money;

/**
 * <p>
 * Standard label provider for the queries. If no special labels or model is
 * required, this label provider will do nicely. It provides just the labels
 * given at the specific row/columns.
 * </p>
 * 
 * $Id: QueryLabelProvider.java 747 2009-07-23 09:14:53Z peschehimself $
 * 
 * @author Peter Siska
 * @author Dennis Schenk
 * @version $Rev: 747 $
 */
public class QueryLabelProvider extends LabelProvider implements ITableLabelProvider {

    /**
     * Does nothing, returns null.
     * 
     * @return Returns null.
     */
    public Image getColumnImage(final Object element, final int columnIndex) {
        return null;
    }

    /**
     * Returns the textual representation of each row at a given column index.
     * This method merely calls the <code>toString()</code> method on those
     * objects. No special labels are being returned, except for
     * <code>Money</code> classes where we use the currency based on the locale
     * (<code>Locale.getDefault()</code>) as a prefix.
     * 
     * @return Returns the <code>toString()</code> representation of the object
     *         in the given row at the given column index.
     */
    public String getColumnText(final Object element, final int columnIndex) {
        Comparable<?>[] row = (Comparable[]) element;
        if (row[columnIndex].getClass() == Money.class) {
            Currency cur = Currency.getInstance(Locale.getDefault());
            return cur + " " + row[columnIndex].toString();
        }
        return row[columnIndex].toString();
    }
}