package com.bagri.xquery.saxon.ext.http;
import static com.bagri.core.Constants.bg_ns;
import static com.bagri.core.Constants.bg_schema;
import net.sf.saxon.lib.ExtensionFunctionDefinition;
import net.sf.saxon.om.StructuredQName;
import net.sf.saxon.value.SequenceType;
public abstract class HttpRequest extends ExtensionFunctionDefinition {
@Override
public StructuredQName getFunctionQName() {
return new StructuredQName(bg_schema, bg_ns, getFunctionName());
}
protected abstract String getFunctionName();
@Override
public int getMinimumNumberOfArguments() {
return 1;
}
@Override
public int getMaximumNumberOfArguments() {
return 2;
}
@Override
public SequenceType[] getArgumentTypes() {
return new SequenceType[] {SequenceType.SINGLE_ANY_URI, SequenceType.STRING_SEQUENCE, SequenceType.STRING_SEQUENCE};
}
@Override
public SequenceType getResultType(SequenceType[] suppliedArgumentTypes) {
return SequenceType.STRING_SEQUENCE;
}
}