org.absmodels.abs.plugin.debug.views.variablesview.VariableLabelProvider.java Source code

Java tutorial

Introduction

Here is the source code for org.absmodels.abs.plugin.debug.views.variablesview.VariableLabelProvider.java

Source

/** 
 * Copyright (c) 2009-2011, The HATS Consortium. All rights reserved. 
 * This file is licensed under the terms of the Modified BSD License.
 */
package org.absmodels.abs.plugin.debug.views.variablesview;

import org.absmodels.abs.plugin.debug.model.VariableValuePair;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.swt.graphics.Image;

import abs.backend.java.observing.ObjectView;

/**
 * TableLabelProvider for the TreeViewer of the VariablView. This class provides labels (and could also 
 * provide icons if wanted in later revisions) for the variable tree reflecting the state of a stack frame 
 * or an object.
 * @author tfischer
 */
public class VariableLabelProvider implements ITableLabelProvider {

    @Override
    public void addListener(ILabelProviderListener listener) {
    }

    @Override
    public void dispose() {
    }

    @Override
    public boolean isLabelProperty(Object element, String property) {
        return false;
    }

    @Override
    public void removeListener(ILabelProviderListener listener) {
    }

    @Override
    public Image getColumnImage(Object element, int columnIndex) {
        return null;
    }

    @Override
    public String getColumnText(Object element, int columnIndex) {
        if (element != null) {
            if (element instanceof VariableValuePair) {
                VariableValuePair elem = (VariableValuePair) element;
                if (elem.getValue() instanceof ObjectView && columnIndex == 0) {
                    return elem.getIdentifier();
                } else {
                    switch (columnIndex) {
                    case 0:
                        return elem.getIdentifier();
                    case 1:
                        if (elem.getValue() == null) {
                            return "null";
                        } else {
                            return elem.getValue().toString();
                        }
                    default:
                        return "Errornous Column";
                    }
                }
            } else {
                return "Error: The VariableView can only display VariableValuePairs. Encountered element "
                        + element.getClass().toString();
            }
        } else {
            return "Error: The VariableView can only display VariableValuePairs. Encountered null.";
        }

    }
}