/* This file is part of Green. * * Copyright (C) 2005 The Research Foundation of State University of New York * All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y. * * Green is free software, licensed under the terms of the Eclipse * Public License, version 1.0. The license is available at * http://www.eclipse.org/legal/epl-v10.html */ package edu.buffalo.cse.green.editor.model; import static edu.buffalo.cse.green.preferences.PreferenceInitializer.P_DISPLAY_FQN_TYPE_NAMES; import static org.eclipse.jdt.ui.refactoring.RenameSupport.UPDATE_REFERENCES; import org.eclipse.core.runtime.CoreException; import org.eclipse.gef.commands.Command; import org.eclipse.jdt.core.IField; import org.eclipse.jdt.core.JavaModelException; import org.eclipse.jdt.ui.refactoring.RenameSupport; import edu.buffalo.cse.green.PlugIn; import edu.buffalo.cse.green.editor.DiagramEditor; import edu.buffalo.cse.green.editor.action.ContextAction; import edu.buffalo.cse.green.editor.controller.FieldPart; import edu.buffalo.cse.green.editor.model.commands.DeleteCommand; import edu.buffalo.cse.green.editor.model.commands.DeleteFieldCommand; /** * The model that represents <code>IField</code> elements. * * @author hk47 */ public class FieldModel extends MemberModel<AbstractModel, CompartmentModel, IField> { public FieldModel(IField field) { super(field); } /** * @see edu.buffalo.cse.green.editor.model.MemberModel#getDisplayName() */ public String getDisplayName() { try { boolean fqn = PlugIn.getBooleanPreference(P_DISPLAY_FQN_TYPE_NAMES); return getSignatureName(getMember().getTypeSignature(), fqn) + " " + getMember().getElementName(); } catch (JavaModelException e) { e.printStackTrace(); return null; } } /** * @see edu.buffalo.cse.green.editor.model.AbstractModel#getContextMenuFlag() */ public int getContextMenuFlag() { return ContextAction.CM_FIELD; } /** * @see edu.buffalo.cse.green.editor.model.AbstractModel#getDeleteCommand(edu.buffalo.cse.green.editor.DiagramEditor) */ public DeleteCommand getDeleteCommand(DiagramEditor editor) { return new DeleteFieldCommand(this); } /** * @param editor - The <code>DiagramEditor</code> containing this model. * * @return A command to hide this model. */ public Command getHideCommand(DiagramEditor editor) { return null; } /** * @see edu.buffalo.cse.green.editor.model.AbstractModel#getPartClass() */ public Class getPartClass() { return FieldPart.class; } /** * @see edu.buffalo.cse.green.editor.model.MemberModel#getRenameSupport() */ public RenameSupport getRenameSupport() throws CoreException { return RenameSupport.create(getMember(), "", UPDATE_REFERENCES); } /** * @return The <code>IField</code> modeled by this model. */ public IField getField() { return (IField) getMember(); } }