w3c.model.www.pep.extensions.accessCounter.Client

w3c.model.www.pep.extensions.accessCounter.Client

package w3c.model.www.pep.extensions.accessCounter;

import java.net.*;
import w3c.model.www.pep.*;
import w3c.model.www.pep.bags.*;
import w3c.model.www.pep.altlib.*;

public class Client extends Common 
    public Client () {super();}

    int getPort(Socket socket) {return socket.getPort();}

    public void makeBag (InstanceContext instanceContext) {
	/* make an extension declaration for AccessCounter */
	String name = instanceContext.getPepAgent().nextFreeName(prefHeaderName, this, false);
/*
It is less code to do something with parsing, but way more CPU work:
ExtDecl extDecl = new ExtDecl("", instanceContext);
extDecl.setString("{strength may}{map \""+URI+"\" "+name+"}");
extDecl.validate1(); // public access to BasicValue.validate()
*/
	String headerNames[] =  String[1];
	headerNames[0] = name;
	ExtDecl extDecl =  ExtDecl(instanceContext, 
	     MapBag(instanceContext, URI, headerNames, 1), 
	     StrengthBag(instanceContext, requiredExtension));
		
	instanceContext.addExtensionInstance(this, makeInstance(headerNames, 1, instanceContext));
	instanceContext.addExtDecl(extDecl, PEPMessage.PEP);
    }

    public boolean outCheck (InstanceContext instanceContext, SiteParty site) {
	PEPMessage message = instanceContext.getMessage();
/*
persistent mappings were considered early in PEP's life. Uncommenting
	if (site == null)
will restore this functionality.
*/
	makeBag(instanceContext);
	return true;
    }

    public boolean inCheck (InstanceContext instanceContext, SiteParty site) {
	PEPMessage message = instanceContext.getMessage();
	if (site == null))
	    return false;
	return true;
    }