java.lang.Object
eu.europa.esig.dss.validation.process.ChainItem<T>
Direct Known Subclasses:
AbstractBasicBuildingBlocksCheck, AbstractCryptographicCheck, AbstractCryptographicCheckerResultCheck, AbstractMultiValuesCheckItem, AbstractRevocationFreshCheck, AbstractTrustedListCheck, AbstractValueCheckItem, AcceptableBasicSignatureValidationCheck, AcceptableBuildingBlockConclusionCheck, AcceptableRevocationDataAvailableCheck, AcceptableTrustedListPresenceCheck, AdESAcceptableCheck, AllDigestValuesMatchCheck, AllFilesSignedCheck, AuthorityInfoAccessPresentCheck, BestSignatureTimeAfterCertificateIssuanceAndBeforeCertificateExpirationCheck, BestSignatureTimeBeforeCertificateExpirationCheck, BestSignatureTimeNotBeforeCertificateIssuanceCheck, CaQcCheck, CertificateExpirationCheck, CertificateIssuedByConsistentTrustServiceCheck, CertificateIssuedToLegalPersonCheck, CertificateIssuedToNaturalPersonCheck, CertificateNotOnHoldCheck, CertificateNotRevokedCheck, CertificateNotSelfSignedCheck, CertificatePathCheck, CertificateQualifiedCheck, CertificateSelfSignedCheck, CertificateSignatureValidCheck, CertificateSupportedByQSCDCheck, CertificateTypeAtSigningTimeCheck, CertificateTypeCheck, CertificateTypeCoverageCheck, CheckSubXCVResult, CommitmentTypeIndicationsCheck, ContentTimestampCheck, CounterSignatureCheck, CurrentTimeIndicationCheck, DigestValueMatchCheck, DigestValuePresentCheck, FullScopeCheck, GrantedStatusAtProductionTimeCheck, GrantedStatusCheck, IdPkixOcspNoCheck, IsAbleToSelectOneTrustService, IsQualificationConflictDetected, IssuerSerialMatchCheck, LongTermValidationCheck, ManifestEntryExistenceCheck, ManifestFilePresentCheck, MessageDigestOrSignedPropertiesCheck, MimeTypeFilePresentCheck, NextUpdateCheck, PastCertificateValidationAcceptableCheck, PastSignatureValidationCheck, PastTimestampValidation, PdfAnnotationOverlapCheck, PdfPageDifferenceCheck, PdfVisualDifferenceCheck, POEExistsAtOrBeforeControlTimeCheck, POEExistsCheck, ProspectiveCertificateChainCheck, ProspectiveCertificateChainCheck, PseudoUsageCheck, QSCDCertificateAtSigningTimeCheck, QSCDCheck, QTSTCheck, QualifiedCertificateAtCertificateIssuanceCheck, QualifiedCertificateAtSigningTimeCheck, QualifiedCheck, ReferenceDataExistenceCheck, ReferenceDataIntactCheck, ReferencesNotAmbiguousCheck, RevocationAcceptanceCheckerResultCheck, RevocationCertHashMatchCheck, RevocationCertHashPresenceCheck, RevocationConsistentCheck, RevocationDataAvailableCheck, RevocationDataKnownCheck, RevocationDateAfterBestSignatureTimeCheck, RevocationFreshnessCheckerResultCheck, RevocationInfoAccessPresentCheck, SatisfyingRevocationDataExistsCheck, SelfIssuedOCSPCheck, SerialNumberCheck, ServiceConsistencyCheck, SignatureAcceptanceValidationResultCheck, SignatureIntactCheck, SignatureNotAmbiguousCheck, SignaturePolicyHashValidCheck, SignaturePolicyIdentifiedCheck, SignaturePolicyStoreCheck, SignaturePolicyZeroHashCheck, SignedFilesPresentCheck, SignerInformationStoreCheck, SignerLocationCheck, SigningCertificateAttributePresentCheck, SigningCertificateRecognitionCheck, SigningCertificateReferenceCheck, SigningTimeAttributePresentCheck, SigningTimeCheck, StructuralValidationCheck, TimestampCoherenceOrderCheck, TimestampDelayCheck, TLFreshnessCheck, TLNotExpiredCheck, TLVersionCheck, TLWellSignedCheck, TrustedCertificateMatchTrustServiceCheck, TrustedListReachedForCertificateChainCheck, UnicitySigningCertificateAttributeCheck, ValidationTimeSlidingCheck, ZipCommentPresentCheck

public abstract class ChainItem<T extends XmlConstraintsConclusion>
extends Object
This class is an item of the Chain class. That follows the design pattern "chain of responsibility". Depending of the Level in LevelConstraint the Chain will continue/stop the current treatment. The ChainItem is a validation constraint which allows to collect information, warnings, errors,...
See Also:
Chain
  • Field Details

    • i18nProvider

      protected final I18nProvider i18nProvider
      i18nProvider
  • Constructor Details

    • ChainItem

      protected ChainItem​(I18nProvider i18nProvider, T result, LevelConstraint constraint)
      Common constructor
      Parameters:
      i18nProvider - the I18nProvider internationalization provider
      result - the Chain object parent of this object
      constraint - the LevelConstraint to follow to execute this ChainItem
    • ChainItem

      protected ChainItem​(I18nProvider i18nProvider, T result, LevelConstraint constraint, String bbbId)
      Specific constructor for Basic Building Blocks validation
      Parameters:
      i18nProvider - the I18nProvider internationalization provider
      result - the Chain object parent of this object
      constraint - the LevelConstraint to follow to execute this ChainItem
      bbbId - the XmlBasicBuildingBlocks's id
  • Method Details

    • setNextItem

      public ChainItem<T> setNextItem​(ChainItem<T> nextItem)
      This method allows to build the chain of responsibility
      Parameters:
      nextItem - the next ChainItem to call if this one succeed
      Returns:
      the current item
    • execute

      public void execute()
      This method allows to execute the chain of responsibility. It will run all the chain until the first Level.FAIL and not valid process.
    • process

      protected abstract boolean process()
      Performs the check
      Returns:
      TRUE if the check succeeds, FALSE otherwise
    • getMessageTag

      protected MessageTag getMessageTag()
      Returns an i18n key String of a message to get
      Returns:
      MessageTag key
    • getErrorMessageTag

      protected MessageTag getErrorMessageTag()
      Returns an i18n key String of an error message to get
      Returns:
      MessageTag key
    • getPreviousErrors

      protected List<XmlName> getPreviousErrors()
      Return a list of previous errors occurred in the chain
      Returns:
      a list of XmlNames
    • getFailedIndicationForConclusion

      protected abstract Indication getFailedIndicationForConclusion()
      Gets an Indication in case of failure
      Returns:
      Indication
    • getFailedSubIndicationForConclusion

      protected abstract SubIndication getFailedSubIndicationForConclusion()
      Gets a SubIndication in case of failure
      Returns:
      SubIndication
    • buildErrorMessage

      protected XmlName buildErrorMessage()
      Builds an error message
      Returns:
      XmlName
    • buildConstraintMessage

      protected XmlName buildConstraintMessage()
      Builds a constraint message
      Returns:
      XmlName
    • buildAdditionalInfo

      protected String buildAdditionalInfo()
      Builds an additional information
      Returns:
      String
    • getAdditionalInfo

      protected MessageTag getAdditionalInfo()
      Gets an additional information
      Returns:
      MessageTag
    • buildXmlName

      protected XmlName buildXmlName​(MessageTag messageTag, Object... args)
      Builds the XmlName
      Parameters:
      messageTag - MessageTag
      args - arguments
      Returns:
      XmlName
    • getSuccessIndication

      protected Indication getSuccessIndication()
      Gets an Indication if the check succeeds
      Returns:
      Indication
    • getSuccessSubIndication

      protected SubIndication getSuccessSubIndication()
      Gets a SubIndication if the check succeeds
      Returns:
      SubIndication
    • isValid

      protected boolean isValid​(XmlConstraintsConclusion constraintConclusion)
      Checks if the conclusion is valid
      Parameters:
      constraintConclusion - XmlConstraintsConclusion
      Returns:
      TRUE if the conclusion has a passed status, FALSE otherwise
    • isValidConclusion

      protected boolean isValidConclusion​(XmlConclusion conclusion)
      Checks if the conclusion is valid
      Parameters:
      conclusion - XmlConclusion
      Returns:
      TRUE if the conclusion has a PASSED indication, FALSE otherwise
    • isInvalidConclusion

      protected boolean isInvalidConclusion​(XmlConclusion conclusion)
      Checks if the conclusion is invalid
      Parameters:
      conclusion - XmlConclusion
      Returns:
      TRUE if the conclusion has a FAILED indication, FALSE otherwise
    • isIndeterminateConclusion

      protected boolean isIndeterminateConclusion​(XmlConclusion conclusion)
      Checks if the conclusion is indeterminate
      Parameters:
      conclusion - XmlConclusion
      Returns:
      TRUE if the conclusion has a INDETERMINATE indication, FALSE otherwise