package org.enhydra.security.avs.api;

import java.io.Serializable;
import java.security.Principal;

public class SecurityContext implements Serializable, Principal {

    private String principalName = null;
    private Object contextData = null;

    public SecurityContext () {
        principalName = "JOnAS_client";
    }

    public SecurityContext (String principalName) {
        this.principalName = principalName;
    }

    public SecurityContext (String principalName, Object theContextData) {
        this.principalName = principalName;
        contextData = theContextData;
    }

    public Principal getCallerPrincipal () {
        return this;
    }

    public String getName() {
        return principalName;
    }
            
    public boolean equals (Object o) {
        if (o instanceof Principal)
            return principalName.equals(((Principal)o).getName());
        return false;
    }

    public String toString () {
        return "principal : name = "+principalName;
    }

    public Object getContextData() {
        return contextData;
    }
 
}                


