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; } }