diff --git a/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/ISMPServiceMetadataProvider.java b/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/ISMPServiceMetadataProvider.java
index bcc3fb48..f40f8cf7 100644
--- a/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/ISMPServiceMetadataProvider.java
+++ b/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/ISMPServiceMetadataProvider.java
@@ -34,6 +34,7 @@
import com.helger.smpclient.exception.SMPClientException;
import com.helger.smpclient.exception.SMPClientUnauthorizedException;
import com.helger.xsds.peppol.smp1.EndpointType;
+import com.helger.xsds.peppol.smp1.ServiceGroupType;
import com.helger.xsds.peppol.smp1.SignedServiceMetadataType;
/**
@@ -60,6 +61,7 @@ public interface ISMPServiceMetadataProvider
* in case something goes wrong
* @see #getServiceMetadataOrNull(IParticipantIdentifier,
* IDocumentTypeIdentifier)
+ * @since 9.5.1 in this interface
*/
@Nonnull
SignedServiceMetadataType getServiceMetadata (@Nonnull final IParticipantIdentifier aServiceGroupID,
@@ -86,7 +88,36 @@ SignedServiceMetadataType getServiceMetadataOrNull (@Nonnull IParticipantIdentif
@Nonnull IDocumentTypeIdentifier aDocumentTypeID) throws SMPClientException;
/**
- * Wildcard (DDTS) aware SMP lookup. It interprets the wildcard character
+ * Wildcard aware SMP lookup. It interprets the wildcard character
+ * (*
) appropriately and tries all possibilities. Internally it
+ * searches the closest possible match using the provided selection algorithm
+ * (mode).
+ *
+ * @param aServiceGroup
+ * The service group previously queried. May not be null
.
+ * @param aReceiverID
+ * Receiver ID. May not be null
.
+ * @param aDocTypeID
+ * Source document type ID. May not be null
. The document
+ * type may use any document type identifier scheme.
+ * @param eSelectionMode
+ * The Wildcard selection mode to use. Must not be null
.
+ * @return null
if no matching SMP entry was found
+ * @throws SMPClientException
+ * In case of error
+ * @see #getWildcardServiceMetadataOrNull(IParticipantIdentifier,
+ * IDocumentTypeIdentifier,
+ * com.helger.smpclient.peppol.PeppolWildcardSelector.EMode)
+ * @since 9.5.1 in this interface
+ */
+ @Nullable
+ SignedServiceMetadataType getWildcardServiceMetadataOrNull (@Nonnull ServiceGroupType aServiceGroup,
+ @Nonnull IParticipantIdentifier aReceiverID,
+ @Nonnull IDocumentTypeIdentifier aDocTypeID,
+ @Nonnull PeppolWildcardSelector.EMode eSelectionMode) throws SMPClientException;
+
+ /**
+ * Wildcard aware SMP lookup. It interprets the wildcard character
* (*
) appropriately and tries all possibilities. Internally it
* works by first querying all the document types via
* {@link ISMPServiceGroupProvider#getServiceGroupOrNull(IParticipantIdentifier)}
@@ -104,6 +135,9 @@ SignedServiceMetadataType getServiceMetadataOrNull (@Nonnull IParticipantIdentif
* @throws SMPClientException
* In case of error
* @since 9.2.1
+ * @see #getWildcardServiceMetadataOrNull(ServiceGroupType,
+ * IParticipantIdentifier, IDocumentTypeIdentifier,
+ * com.helger.smpclient.peppol.PeppolWildcardSelector.EMode)
*/
@Nullable
SignedServiceMetadataType getWildcardServiceMetadataOrNull (@Nonnull IParticipantIdentifier aReceiverID,
@@ -138,6 +172,8 @@ SignedServiceMetadataType getWildcardServiceMetadataOrNull (@Nonnull IParticipan
* @throws SMPClientBadRequestException
* The request was not well formed.
* @see #getServiceMetadataOrNull(IParticipantIdentifier,IDocumentTypeIdentifier)
+ * @see #getEndpointAt(IParticipantIdentifier, IDocumentTypeIdentifier,
+ * IProcessIdentifier, ISMPTransportProfile, LocalDateTime)
*/
@Nullable
default EndpointType getEndpoint (@Nonnull final IParticipantIdentifier aServiceGroupID,
diff --git a/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/SMPClientReadOnly.java b/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/SMPClientReadOnly.java
index 3ffe5cdd..c5489d1c 100644
--- a/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/SMPClientReadOnly.java
+++ b/peppol-smp-client/src/main/java/com/helger/smpclient/peppol/SMPClientReadOnly.java
@@ -963,7 +963,7 @@ public static void forEachMatchingWildcardDocumentType (@Nonnull final ICommonsL
}
/**
- * Wildcard (DDTS) aware SMP lookup. It interprets the wildcard character
+ * Wildcard aware SMP lookup. It interprets the wildcard character
* (*
) appropriately and tries all possibilities. Internally it
* works by first querying all the document types via
* {@link #getServiceGroupOrNull(IParticipantIdentifier)} and afterwards find