package at.gv.egovernment.moa.spss.server.transaction;
import java.security.cert.X509Certificate;
import at.gv.egovernment.moa.spss.server.config.ConfigurationProvider;
/**
* Contains information about the current request.
*
* @author Stefan Knirsch
* @author Patrick Peck
*/
public class TransactionContext {
/** The client certificate. */
private X509Certificate[] clientCertificate = null;
/** The transaction ID. */
private String transactionID = null;
/** The name of the request. */
private String requestName = null;
/** The configuration to use throughout the request. */
private ConfigurationProvider configuration = null;
/**
* Create a TransactionContext
object.
*
* @param transactionID A unique ID for this TransactionContext
.
* @param clientCertificate The client certificate chain.
* @param configuration The MOA configuration to use for this transaction.
*/
public TransactionContext(
String transactionID,
X509Certificate[] clientCertificate,
ConfigurationProvider configuration) {
this.transactionID = transactionID;
this.clientCertificate = clientCertificate;
this.configuration = configuration;
}
/**
* Returns the client certificate.
*
* @return The client certificate chain, if SSL client authentication has been
* configured in the web server and has been used by the client. The 0th
* element of the array contains the client certificate. null
* otherwise.
*/
public X509Certificate[] getClientCertificate() {
return clientCertificate;
}
/**
* Returns the unique transaction ID.
*
* @return The transaction ID.
*/
public String getTransactionID() {
return transactionID;
}
/**
* Returns the name of the request.
*
* @return The name of the request.
*/
public String getRequestName() {
return requestName;
}
/**
* Sets the name of the request.
*
* @param requestName The request name to set.
*/
public void setRequestName(String requestName) {
this.requestName = requestName;
}
/**
* Returns the ConfigurationProvider
associated with this
* transaction.
*
* @return The ConfigurationProvider associated with this transaction.
*/
public ConfigurationProvider getConfiguration() {
return configuration;
}
}