package org.bundlemaker.core.ui.view.dependencytable;
import org.bundlemaker.core.analysis.IDependency;
import org.eclipse.core.runtime.Assert;
import org.eclipse.jface.viewers.ILazyContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.Viewer;
/**
* <p>
* </p>
*
* @author Gerd Wütherich (gerd@gerd-wuetherich.de)
*/
public class LazyDependencyProvider implements ILazyContentProvider {
/** - */
private TableViewer _tableViewer;
/** - */
private IDependency[] _dependencies;
/**
* <p>
* Creates a new instance of type {@link LazyDependencyProvider}.
* </p>
*
* @param tableViewer
*/
public LazyDependencyProvider(TableViewer tableViewer) {
Assert.isNotNull(tableViewer);
_tableViewer = tableViewer;
}
/**
* {@inheritDoc}
*/
@Override
public void dispose() {
}
/**
* {@inheritDoc}
*/
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
this._dependencies = (IDependency[]) newInput;
}
/**
* {@inheritDoc}
*/
@Override
public void updateElement(int index) {
if (_dependencies.length > index) {
_tableViewer.replace(_dependencies[index], index);
}
}
}