package w3c.model.www.pep.extensions.escapeMessage;
import w3c.model.www.pep.*;
import java.util.Enumeration;
import w3c.model.www.pep.extensions.escape.Escape;
import w3c.model.www.pep.extensions.escape.EscapeInstance;
import w3c.model.www.pep.altlib.*;
abstract public class Common extends Escape
final static String prefHeaderName = null;
protected final static String absoluteURI = "http://localhost:8887/src/classes/escapeMessage";
public Common () {
super(absoluteURI, prefHeaderName);
}
public void initialize ( PEPAgent pepAgent, boolean requiredExtension) {
super.initialize(pepAgent, requiredExtension);
}
public PEPExtensionInstance makeInstance ( String headerNames[], int count, InstanceContext instanceContext) {
throw InternalError("illegal call to default escapeMessage.Common.makeInstance("+headerNames[0]+").");
}
public boolean map ( InstanceContext instanceContext, int when, PEPMessage message, String reason) {
return false;
}
public boolean generateHeaders ( InstanceContext instanceContext, int when) throws HTTPException{
PEPMessage message = instanceContext.getMessage();
if (when != PEPExtension.CONNECT && when != PEPExtension.HEADERS))
return false;
if (when == PEPExtension.CONNECT && requiredExtension))
instanceContext.setRequiredExtensions();
return true;
}
abstract void noElements ( InstanceContext instanceContext);
/*
Message.read -> PEPAgent.handleHeaders -> escapeBody.handleHeaders
*/
public boolean handleHeaders ( InstanceContext instanceContext, int when) throws HTTPException{
if (when != PEPExtension.HEADERS))
return false;
PEPMessage message = instanceContext.getMessage();
EscapeInstance inst = EscapeInstance(null);
message.setInputStream(inst.makeInputStream(message.getInputStream()));
return true;
}