Class SMLInfo

java.lang.Object
com.helger.peppol.sml.SMLInfo
All Implemented Interfaces:
com.helger.commons.id.IHasID<String>, com.helger.commons.lang.ICloneable<SMLInfo>, com.helger.commons.name.IHasDisplayName, com.helger.commons.type.IHasObjectType, com.helger.commons.type.ITypedObject<String>, ISMLInfo, Serializable

@NotThreadSafe public class SMLInfo extends Object implements ISMLInfo, com.helger.commons.lang.ICloneable<SMLInfo>
Use instances of this class if you're not happy with the ESML enumeration value but need an instance of ISMLInfo.
Author:
Philip Helger
See Also:
  • Field Details

    • DEFAULT_CLIENT_CERTIFICATE_REQUIRED

      public static final boolean DEFAULT_CLIENT_CERTIFICATE_REQUIRED
      See Also:
    • OT

      public static final com.helger.commons.type.ObjectType OT
  • Constructor Details

    • SMLInfo

      public SMLInfo(@Nonnull ISMLInfo aOther)
      Copy constructor.
      Parameters:
      aOther - The object to copy from. May not be null.
    • SMLInfo

      public SMLInfo(@Nonnull @Nonempty String sDisplayName, @Nonnull @Nonempty String sDNSZone, @Nonnull @Nonempty String sManagementServiceURL, boolean bClientCertificateRequired)
      Parameters:
      sDisplayName - The "shorthand" display name like "SML" or "SMK".
      sDNSZone - The DNS zone on which this SML is operating. May not be null. It must be ensured that the value consists only of lower case characters for comparability! Example: sml.peppolcentral.org
      sManagementServiceURL - The service URL where the management application is running on incl. the host name. May not be null. The difference to the host name is the eventually present context path.
      bClientCertificateRequired - true if this SML requires a client certificate for access, false otherwise. Both production SML and SMK require a client certificate. Only a locally running SML software may not require a client certificate.
    • SMLInfo

      public SMLInfo(@Nonnull @Nonempty String sID, @Nonnull @Nonempty String sDisplayName, @Nonnull @Nonempty String sDNSZone, @Nonnull @Nonempty String sManagementServiceURL, boolean bClientCertificateRequired)
  • Method Details

    • getObjectType

      @Nonnull public com.helger.commons.type.ObjectType getObjectType()
      Specified by:
      getObjectType in interface com.helger.commons.type.IHasObjectType
    • getID

      @Nonnull @Nonempty public String getID()
      Specified by:
      getID in interface com.helger.commons.id.IHasID<String>
    • getDisplayName

      @Nonnull @Nonempty public String getDisplayName()
      Specified by:
      getDisplayName in interface com.helger.commons.name.IHasDisplayName
      Specified by:
      getDisplayName in interface ISMLInfo
      Returns:
      The "shorthand" display name like "SML" or "SMK".
    • setDisplayName

      @Nonnull public final com.helger.commons.state.EChange setDisplayName(@Nonnull @Nonempty String sDisplayName)
    • getDNSZone

      @Nonnull @Nonempty public String getDNSZone()
      Specified by:
      getDNSZone in interface ISMLInfo
      Returns:
      The DNS zone on which this SML is operating. Never null. It must be ensured that the value consists only of lower case characters!
      Example: sml.peppolcentral.org
    • setDNSZone

      @Nonnull public final com.helger.commons.state.EChange setDNSZone(@Nonnull @Nonempty String sDNSZone)
    • getManagementServiceURL

      @Nonnull @Nonempty public String getManagementServiceURL()
      Specified by:
      getManagementServiceURL in interface ISMLInfo
      Returns:
      The service URL where the management application is running on including the host name. Never null. The difference to the host name is the eventually present context path. This path may never end with a slash.
    • getManageServiceMetaDataEndpointAddress

      @Nonnull public URL getManageServiceMetaDataEndpointAddress()
      Specified by:
      getManageServiceMetaDataEndpointAddress in interface ISMLInfo
      Returns:
      The service endpoint URL to manage SMP meta data. Never null. This is usually the URL corresponding to ISMLInfo.getManagementServiceURL() + "/" + CSMLDefault.MANAGEMENT_SERVICE_METADATA
    • getManageParticipantIdentifierEndpointAddress

      @Nonnull public URL getManageParticipantIdentifierEndpointAddress()
      Specified by:
      getManageParticipantIdentifierEndpointAddress in interface ISMLInfo
      Returns:
      The service endpoint URL to manage participant identifiers. Never null. This is usually the URL corresponding to ISMLInfo.getManagementServiceURL() + "/" + CSMLDefault.MANAGEMENT_SERVICE_PARTICIPANTIDENTIFIER
    • setManagementServiceURL

      @Nonnull public final com.helger.commons.state.EChange setManagementServiceURL(@Nonnull @Nonempty String sManagementServiceURL)
    • isClientCertificateRequired

      public boolean isClientCertificateRequired()
      Specified by:
      isClientCertificateRequired in interface ISMLInfo
      Returns:
      true if this SML requires a client certificate for access, false otherwise. Both PEPPOL production SML and SMK require a client certificate. Only a locally running SML software may not require a client certificate.
    • setClientCertificateRequired

      @Nonnull public final com.helger.commons.state.EChange setClientCertificateRequired(boolean bRequiresClientCertificate)
    • getClone

      @Nonnull @ReturnsMutableCopy public SMLInfo getClone()
      Specified by:
      getClone in interface com.helger.commons.lang.ICloneable<SMLInfo>
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object