package de.persosim.simulator.protocols.pace;
import java.security.KeyPair;
import de.persosim.simulator.crypto.DomainParameterSet;
/**
* This class represents a container for mapping results.
* This allows for the mapping to be state less.
*
* @author slutters
*
*/
public abstract class MappingResult {
// the unmapped domain parameters
protected DomainParameterSet domainParametersUnmapped;
// the mapped domain parameters
protected DomainParameterSet domainParametersMapped;
// the public key pair updated according to the mapped domain parameters
protected KeyPair keyPairPiccMapped;
/**
* This constructor constructs an object container for mapping results.
* @param domainParametersUnmapped the unmapped domain parameters
* @param domainParametersMapped the mapped domain parameters
* @param keyPairPiccMapped the public key pair updated according to the mapped domain parameters
*/
public MappingResult(DomainParameterSet domainParametersUnmapped, DomainParameterSet domainParametersMapped, KeyPair keyPairPiccMapped) {
this.domainParametersUnmapped = domainParametersUnmapped;
this.domainParametersMapped = domainParametersMapped;
this.keyPairPiccMapped = keyPairPiccMapped;
}
public DomainParameterSet getMappedDomainParameters() {
return domainParametersMapped;
}
public DomainParameterSet getUnmappedDomainParameters() {
return domainParametersUnmapped;
}
public KeyPair getKeyPairPiccMapped() {
return keyPairPiccMapped;
}
public abstract byte[] getMappingResponse();
}