package org.bundlemaker.core.ui.projecteditor.dnd.internal; import org.bundlemaker.core.project.IProjectContentProvider; import org.bundlemaker.core.project.IProjectDescriptionAwareBundleMakerProject; import org.bundlemaker.core.ui.projecteditor.dnd.DropLocation; import org.bundlemaker.core.ui.projecteditor.dnd.IProjectEditorDropEvent; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.TransferData; import org.eclipse.swt.widgets.Shell; public class ProjectEditorDropEvent implements IProjectEditorDropEvent { private final Shell _shell; private final IProjectDescriptionAwareBundleMakerProject _bundleMakerProject; private final IProjectContentProvider _projectContentProvider; private final Object _target; private Object _data; private final TransferData _transferData; private final DropLocation _dropLocation; public ProjectEditorDropEvent(final Shell shell, IProjectDescriptionAwareBundleMakerProject bundleMakerProject, IProjectContentProvider projectContentProvider, Object target, DropLocation dropLocation, TransferData transferData) { super(); _shell = shell; _bundleMakerProject = bundleMakerProject; _projectContentProvider = projectContentProvider; _target = target; _dropLocation = dropLocation; this._transferData = transferData; } public void setData(Object data) { this._data = data; } @Override public Shell getShell() { return _shell; } @Override public IProjectDescriptionAwareBundleMakerProject getBundleMakerProject() { return _bundleMakerProject; } /* * (non-Javadoc) * * @see org.bundlemaker.core.ui.projecteditor.dnd.IProjectEditorDropEvent#getProjectContentProvider() */ @Override public IProjectContentProvider getProjectContentProvider() { return _projectContentProvider; } @Override public Object getTarget() { return _target; } @Override public boolean hasTarget() { return (_target != null); } @Override public Object getData() { return _data; } @Override public DropLocation getDropLocation() { return _dropLocation; } /* * (non-Javadoc) * * @see org.bundlemaker.core.ui.projecteditor.dnd.IProjectEditorDropEvent#getTransferData() */ @Override public TransferData getTransferData() { return this._transferData; } @Override public boolean isTransferType(Transfer transfer) { if (transfer.isSupportedType(_transferData)) { return true; } return false; } // public <T> T getJavaTransferData(Class<T> type, Transfer transfer) { // if (!isTransferType(transfer)) { // return null; // } // // try { // transfer. // } // // } @Override public <T> T getData(Class<T> type) { return type.cast(_data); } }