Package tool.search

Source Code of tool.search.SupplierContentProvider

package tool.search;

import java.util.List;
import java.util.Set;

import org.eclipse.core.resources.IProject;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;

import tool.model.ToolCType;
import tool.model.ToolClass;
import tool.model.ToolComponent;
import tool.model.ToolInterface;
import tool.model.ToolPlan;
import tool.model.ToolType;
import tool.model.grammar.IErrorReporter;

public class SupplierContentProvider implements ITreeContentProvider {

  private IProject project;
  public SupplierContentProvider(IProject project){
    super();
    this.project = project;
  }
  @Override
  public void dispose() {

  }

  @Override
  public void inputChanged(Viewer viewer, Object arg1, Object arg2) {

  }

  @Override
  public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof ToolPlan){
      ToolPlan plan = (ToolPlan)parentElement;
      List<ToolClass> classes = plan.getClasses();
      List<ToolInterface> interfaces = plan.getInterfaces();
      List<ToolCType> cTypes = plan.getCTypes();
      Object[] kids = new Object[classes.size() + interfaces.size() + cTypes.size()];
      int j = 0;
      for (ToolType cls : classes){
        kids[j] = cls;
        j++;
      }
      for (ToolInterface inter : interfaces){
        kids[j] = inter;
        j++;
      }
      for (ToolCType ct : cTypes){
        kids[j] = ct;
        j++;
      }
      return kids;
    } if (parentElement instanceof Set<?>){
      Set<?> planSet = (Set<?>)parentElement;
      /*
       * assume we have a list of supplier plan names
       */
      Object[] kids = new Object[planSet.size()];
      int i = 0;
      for (Object obj : planSet){
        IErrorReporter plan = ToolPlan.fetch(project, obj.toString());
        kids[i] = plan;
        i++;
      }
      return kids;
    }
    return new Object[0];
  }

  @Override
  public Object[] getElements(Object object) {
    return getChildren(object);
  }

  @Override
  public Object getParent(Object object) {
    if (object instanceof ToolComponent){
      return ((ToolComponent)object).getParent();
    }
    return null;
  }

  @Override
  public boolean hasChildren(Object object) {
    if (object instanceof ToolPlan)
      return true;
    return false;
  }

}
TOP

Related Classes of tool.search.SupplierContentProvider

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.