package org.bundlemaker.core.ui.projecteditor;
import org.bundlemaker.core.project.IProjectContentProvider;
import org.bundlemaker.core.project.IProjectDescriptionAwareBundleMakerProject;
import org.bundlemaker.core.ui.projecteditor.provider.IProjectContentProviderEditor;
import org.bundlemaker.core.ui.projecteditor.provider.IProjectContentProviderEditorElement;
public class ProjectEditorTreeViewerElement implements IProjectContentProviderEditorElement {
private final IProjectDescriptionAwareBundleMakerProject _bundleMakerProject;
private final Object _element;
private final IProjectContentProvider _projectContentProvider;
private final IProjectContentProviderEditor _providingEditor;
ProjectEditorTreeViewerElement(IProjectDescriptionAwareBundleMakerProject bundleMakerProject,
IProjectContentProvider projectContentProvider, Object rootElement, IProjectContentProviderEditor providingEditor) {
super();
_bundleMakerProject = bundleMakerProject;
_projectContentProvider = projectContentProvider;
_element = rootElement;
_providingEditor = providingEditor;
}
public IProjectDescriptionAwareBundleMakerProject getBundleMakerProject() {
return _bundleMakerProject;
}
public Object getElement() {
return _element;
}
public IProjectContentProvider getProjectContentProvider() {
return _projectContentProvider;
}
public IProjectContentProviderEditor getProvidingEditor() {
return _providingEditor;
}
public ProjectEditorTreeViewerElement deriveChild(Object childElement) {
ProjectEditorTreeViewerElement child = new ProjectEditorTreeViewerElement(getBundleMakerProject(),
getProjectContentProvider(), childElement, getProvidingEditor());
return child;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((_element == null) ? 0 : _element.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;
ProjectEditorTreeViewerElement other = (ProjectEditorTreeViewerElement) obj;
if (_element == null) {
if (other._element != null)
return false;
} else if (!_element.equals(other._element))
return false;
return true;
}
}