/**
* Copyright (c) Red Hat, Inc., contributors and others 2013 - 2014. All rights reserved
*
* Licensed under the Eclipse Public License version 1.0, available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package org.jboss.tools.forge.ui.internal.ext.quickaccess.impl;
import org.eclipse.jface.resource.ImageDescriptor;
import org.jboss.forge.addon.ui.command.UICommand;
import org.jboss.forge.addon.ui.context.UIContext;
import org.jboss.forge.addon.ui.metadata.UICommandMetadata;
import org.jboss.tools.forge.ui.internal.ForgeUIPlugin;
import org.jboss.tools.forge.ui.internal.ext.quickaccess.QuickAccessElement;
public class ForgeQuickAccessElement extends QuickAccessElement {
private String label;
private String tooltip;
private UICommand command;
public ForgeQuickAccessElement(ForgeQuickAccessProvider provider, UIContext context,
UICommand command) {
super(provider);
this.command = command;
UICommandMetadata metadata = command.getMetadata(context);
this.label = metadata.getName();
this.tooltip = metadata.getDescription();
}
@Override
public String getLabel() {
return label;
}
@Override
public ImageDescriptor getImageDescriptor() {
return ForgeUIPlugin.getForgeIcon();
}
@Override
public String getId() {
return getLabel();
}
@Override
public void execute() {
}
public UICommand getCommand() {
return command;
}
@Override
public String getTooltip() {
return this.tooltip;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((label == null) ? 0 : label.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ForgeQuickAccessElement other = (ForgeQuickAccessElement) obj;
if (label == null) {
if (other.label != null)
return false;
} else if (!label.equals(other.label))
return false;
return true;
}
}