/*******************************************************************************
* Copyright (c) 2007 Exadel, Inc. and Red Hat, Inc.
* Distributed under license by Red Hat, Inc. All rights reserved.
* This program is 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:
* Exadel, Inc. and Red Hat, Inc. - initial API and implementation
******************************************************************************/
package org.jboss.tools.common.model.ui.editor;
import org.jboss.tools.common.core.resources.XModelObjectEditorInputFactory;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.IPersistableElement;
import org.jboss.tools.common.model.XModelObject;
public class ModelObjectEditorInput implements IModelObjectEditorInput, IPersistableElement {
protected XModelObject object;
public ModelObjectEditorInput(XModelObject object) {
this.object = object;
}
public XModelObject getXModelObject() {
return object;
}
public boolean exists() {
return object != null;
}
public ImageDescriptor getImageDescriptor() {
return null;
}
public String getName() {
return object.getPresentationString();
}
public IPersistableElement getPersistable() {
return this;
}
public String getToolTipText() {
return object.getPresentationString();
}
public Object getAdapter(Class adapter) {
if(adapter == XModelObject.class) return getXModelObject();
return object.getAdapter(adapter);
}
public String getFactoryId() {
return XModelObjectEditorInputFactory.getFactoryId();
}
public void saveState(IMemento memento) {
XModelObjectEditorInputFactory.saveState(memento, this);
}
public boolean equals(Object o) {
getXModelObject();
if (this == o) return true;
if(o instanceof IModelObjectEditorInput) {
return object.equals(((IModelObjectEditorInput)o).getXModelObject());
}
return false;
}
}