package org.jboss.seam.forge.shell.completer;
import java.util.ArrayList;
import java.util.List;
import javax.inject.Inject;
import org.jboss.seam.forge.project.Facet;
import org.jboss.seam.forge.project.Project;
import org.jboss.seam.forge.project.services.FacetFactory;
import org.jboss.seam.forge.shell.Shell;
import org.jboss.seam.forge.shell.util.ConstraintInspector;
public class AvailableFacetsCompleter extends SimpleTokenCompleter
{
@Inject
private FacetFactory factory;
@Inject
private Shell shell;
@Override
public List<Object> getCompletionTokens()
{
Project project = shell.getCurrentProject();
List<Facet> allFacets = factory.getFacets();
List<Class<? extends Facet>> uninstalledFacets = new ArrayList<Class<? extends Facet>>();
for (Facet facet : allFacets)
{
if (!project.hasFacet(facet.getClass()))
{
uninstalledFacets.add(facet.getClass());
}
}
List<Object> result = new ArrayList<Object>();
for (Class<? extends Facet> type : uninstalledFacets)
{
String name = ConstraintInspector.getName(type);
result.add(name + " ");
}
return result;
}
}