package com.esri;
import com.esri.arcgis.geodatabase.IEnumGPName;
import com.esri.arcgis.geodatabase.IGPName;
import com.esri.arcgis.geoprocessing.EnumGPName;
import com.esri.arcgis.geoprocessing.GPFunctionName;
import com.esri.arcgis.geoprocessing.IEnumGPEnvironment;
import com.esri.arcgis.geoprocessing.IGPFunction;
import com.esri.arcgis.geoprocessing.IGPFunctionFactory;
import com.esri.arcgis.interop.AutomationException;
import com.esri.arcgis.interop.extn.ArcGISCategories;
import com.esri.arcgis.interop.extn.ArcGISExtension;
import com.esri.arcgis.system.IUID;
import com.esri.arcgis.system.UID;
import java.io.IOException;
import java.util.UUID;
/**
*/
@ArcGISExtension(categories = {ArcGISCategories.GPFunctionFactories})
public final class HBaseToolbox implements IGPFunctionFactory
{
private static final long serialVersionUID = 2385676665599961990L;
private static final String NAME = HBaseToolbox.class.getSimpleName();
public IUID getCLSID() throws IOException, AutomationException
{
final UID uid = new UID();
uid.setValue("{" + UUID.nameUUIDFromBytes(this.getClass().getName().getBytes()) + "}");
return uid;
}
public String getName() throws IOException, AutomationException
{
return NAME;
}
public String getAlias() throws IOException, AutomationException
{
return NAME;
}
public IGPFunction getFunction(final String s) throws IOException, AutomationException
{
if (ExportToHBaseTool.NAME.equalsIgnoreCase(s))
{
return new ExportToHBaseTool();
}
if (CreateHTableTool.NAME.equalsIgnoreCase(s))
{
return new CreateHTableTool();
}
return null;
}
public IGPName getFunctionName(final String s) throws IOException, AutomationException
{
if (ExportToHBaseTool.NAME.equalsIgnoreCase(s))
{
final GPFunctionName functionName = new GPFunctionName();
functionName.setCategory(ExportToHBaseTool.NAME);
functionName.setDescription(ExportToHBaseTool.NAME);
functionName.setDisplayName(ExportToHBaseTool.NAME);
functionName.setName(ExportToHBaseTool.NAME);
functionName.setFactoryByRef(this);
return functionName;
}
if (CreateHTableTool.NAME.equalsIgnoreCase(s))
{
final GPFunctionName functionName = new GPFunctionName();
functionName.setCategory(CreateHTableTool.NAME);
functionName.setDescription(CreateHTableTool.NAME);
functionName.setDisplayName(CreateHTableTool.NAME);
functionName.setName(CreateHTableTool.NAME);
functionName.setFactoryByRef(this);
return functionName;
}
return null;
}
public IEnumGPName getFunctionNames() throws IOException, AutomationException
{
final EnumGPName nameArray = new EnumGPName();
nameArray.add(getFunctionName(ExportToHBaseTool.NAME));
nameArray.add(getFunctionName(CreateHTableTool.NAME));
return nameArray;
}
public IEnumGPEnvironment getFunctionEnvironments() throws IOException, AutomationException
{
return null;
}
}