package at.gv.egovernment.moa.spss.server.iaik.xmlsign;
import java.util.List;
import iaik.server.modules.xmlsign.DataObjectTreatment;
import at.gv.egovernment.moa.spss.server.util.IdGenerator;
/**
* An object encapsulating how to treat an associated DataObject
* when creating a signature.
*
* @author Patrick Peck
* @version $Id$
*/
public class DataObjectTreatmentImpl implements DataObjectTreatment {
/** The final content MIME type. */
private String finalContentType;
/** The name of the hash algorithm. */
private String hashAlgorithmName;
/** This transformations to apply to the associated data object. */
private List transformationList;
/** Supplemental information for the transformations. */
private List transformationSupplements;
/** Whether to include the associated data object in the signature. */
private boolean includedInSignature;
/** Whether to include the associated data object in the manifest. */
private boolean referenceInManifest;
/** The object ID generator. */
private IdGenerator objIdGen;
/**
* Create a new DataObjectTreatmentImpl
.
*
* @param objIdGen The IdGenerator
for unique object IDs.
*/
public DataObjectTreatmentImpl(IdGenerator objIdGen) {
this.objIdGen = objIdGen;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#getFinalContentType()
*/
public String getFinalContentType() {
return finalContentType;
}
/**
* Sets the final content type.
*
* @param finalContentType The final content type to set (a MIME-type type of
* String
).
*/
public void setFinalContentType(String finalContentType) {
this.finalContentType = finalContentType;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#getHashAlgorithmName()
*/
public String getHashAlgorithmName() {
return hashAlgorithmName;
}
/**
* Sets the hash algorithm name.
*
* @param hashAlgorithmName The hash algorithm name to set.
*/
public void setHashAlgorithmName(String hashAlgorithmName) {
this.hashAlgorithmName = hashAlgorithmName;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#isIncludedInSignature()
*/
public boolean isIncludedInSignature() {
return includedInSignature;
}
/**
* Sets whether the associated DataObject
is to be included in
* the signature.
*
* @param includedInSignature If true
, the associated
* DataObject
will be included in the signature, otherwise not.
*/
public void setIncludedInSignature(boolean includedInSignature) {
this.includedInSignature = includedInSignature;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#isReferenceInManifest()
*/
public boolean isReferenceInManifest() {
return referenceInManifest;
}
/**
* Sets whether the associated DataObject
is
* to be included in the dsig:Manifest
.
*
* @param referenceInManifest If true
, the associated
* DataObject
will be included in the manifest, otherwise not.
*/
public void setReferenceInManifest(boolean referenceInManifest) {
this.referenceInManifest = referenceInManifest;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#getTransformationList()
*/
public List getTransformationList() {
return transformationList;
}
/**
* Set the list of transformations for the associated DataObject
.
*
* @param transformationList The transformations to set.
*/
public void setTransformationList(List transformationList) {
this.transformationList = transformationList;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#getTransformationSupplements()
*/
public List getTransformationSupplements() {
return transformationSupplements;
}
/**
* Sets the transformation supplements for the associated
* DataObject
.
*
* @param transformationSupplements The transformation supplements to set.
*/
public void setTransformationSupplements(List transformationSupplements) {
this.transformationSupplements = transformationSupplements;
}
/**
* @see iaik.server.modules.xmlsign.DataObjectTreatment#getDsigDataObjectID()
*/
public String getDsigDataObjectID() {
return objIdGen.uniqueId();
}
}