package org.geotools.process.function;
import java.awt.RenderingHints.Key;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import org.geotools.data.Parameter;
import org.geotools.feature.NameImpl;
import org.geotools.process.Process;
import org.geotools.process.ProcessFactory;
import org.geotools.text.Text;
import org.opengis.feature.type.Name;
import org.opengis.util.InternationalString;
public class UnavailableProcessFactory implements ProcessFactory {
final Name NAME = new NameImpl("test", "unavailable");
@Override
public Map<Key, ?> getImplementationHints() {
return null;
}
@Override
public boolean isAvailable() {
return false;
}
@Override
public boolean supportsProgress(Name name) {
return true;
}
@Override
public String getVersion(Name name) {
if( name.equals(NAME)) return "1.0";
return null;
}
@Override
public InternationalString getTitle(Name name) {
if( name.equals(NAME)) return Text.text("Evil");
return null;
}
@Override
public InternationalString getTitle() {
return Text.text("Test Factory");
}
@Override
public Map<String, Parameter<?>> getResultInfo(Name name, Map<String, Object> parameters)
throws IllegalArgumentException {
if( NAME.equals(name) && (parameters == null || parameters.isEmpty())) {
return Collections.singletonMap("result", new Parameter<>("result", String.class));
}
return null;
}
@Override
public Map<String, Parameter<?>> getParameterInfo(Name name) {
if( name.equals(NAME) ) {
return Collections.singletonMap("test", new Parameter<>("test", String.class));
}
return null;
}
@Override
public Set<Name> getNames() {
return Collections.singleton( NAME );
}
@Override
public InternationalString getDescription(Name name) {
return null;
}
@Override
public Process create(Name name) {
return null;
}
}