Interface WBEMServiceAdvertisement

All Known Implementing Classes:
WBEMServiceAdvertisementSLP

public interface WBEMServiceAdvertisement
Interface WBEMServiceAdvertisement is encapsulates the information collected about a service during discovery. The DMTF specifies a set a attributes that each service must advertise. These attributes are found as string constants in this interface and the method getAttribute() is offered to get an attribute by name. This design was chosen because the set of attributes might be extended by DMTF and vendor implementations. It's also unclear if upcoming new discovery protocols will have the same set of attributes as SLP.
Since:
2.0.2
Related patterns or idioms:
Immutable
Threading considerations:
This class is thread-safe
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    AuthenticationMechansimDescriptions (string, literal, multiple, optional): Defines other Authentication mechanisms supported by the CIM Object Manager in the case where the "Other" value is set in any of the AuthenticationMechanismSupported attribute values.
    static final String
    AuthenticationMechanismsSupported (string, literal, multiple): Defines the authentication mechanism supported by the CIM Object Manager.
    static final String
    Classinfo (string, multiple, optional): This attributes is optional but if used, the values MUST be the CIM_Namespace.Classinfo property value.
    static final String
    CommunicationMechanism (string, literal): The communication mechanism (protocol) used by the CIM Object Manager for this service-location-tcp defined in this advertisement.
    static final String
    FunctionalProfileDescriptions (string, literal, multiple, optional): Other profile description if the "other" value is set in the ProfilesSupported attribute.
    static final String
    FunctionalProfilesSupported (string, literal, multiple): ProfilesSupported defines the CIM Operation profiles supported by the CIM Object Manager.
    static final String
    InteropSchemaNamespace (string, literal, multiple): Namespace within the target WBEM Server where the CIM Interop Schema can be accessed.
    static final String
    MultipleOperationsSupported (boolean): Defines whether the CIM Object Manager supports batch operations.
    static final String
    Namespace (string, literal, multiple, optional): Namespace(s) supported on the CIM Object Manager.
    static final String
    OtherCommunicationMechanismDescription (string, literal, optional): The other communication mechanism defined for the CIM Server in the case the "Other" value is set in the CommunicationMechanism string.
    static final String
    ProtocolVersion (string, literal, optional): The version of the protocol.
    static final String
    RegisteredProfilesSupported (string, literal, multiple): RegisteredProfilesSupported defines the Profiles that this WBEM Server has support for.
    static final String
    service-hi-description (string, optional): This string is used as a description of the CIM service for human interfaces.This attribute MUST be the CIM_ObjectManager.Description property value.
    static final String
    service-hi-name (string, optional): This string is used as a name of the CIM service for human interfaces.
    static final String
    service-id (string, literal): The ID of this WBEM Server.
    static final String
    template-description (string): A description of the service suitable for inclusion in text read by people.
    static final String
    template-type (string): The scheme name of the service scheme.
    static final String
    template-url-syntax (string): The template-url-syntax MUST be the WBEM URI Mapping of the location of one service access point offered by the WBEM Server over TCP transport.
    static final String
    template-version (string): The version number of the service type specification.
  • Method Summary

    Modifier and Type
    Method
    Description
    createClient(Subject pSubject, Locale[] pLocales)
    Creates a fully-initialized WBEMClient instance connected to the service that is subject of this advertisement.
    getAttribute(String pAttributeName)
    Return the attribute value for a given attribute name
    Return the set of attributes of this advertisement
    Returns the concrete service type.
    Gets the URL of the directory from which this advertisement was received
    Returns the interop namespaces
    Returns the service id
    Returns the service url, e.g.
    boolean
    Returns the expiration state of the advertisement.
    void
    setExpired(boolean pExpired)
    Sets the expirations state of the advertisement.
  • Field Details

    • TEMPLATE_TYPE

      static final String TEMPLATE_TYPE
      template-type (string): The scheme name of the service scheme. The scheme name consists of the service type name and an optional naming authority name, separated from the service type name by a period. See RFC 2609 section 3.2.2 for the conventions governing service type names.
      See Also:
    • TEMPLATE_VERSION

      static final String TEMPLATE_VERSION
      template-version (string): The version number of the service type specification.
      See Also:
    • TEMPLATE_DESCRIPTION

      static final String TEMPLATE_DESCRIPTION
      template-description (string): A description of the service suitable for inclusion in text read by people.
      See Also:
    • TEMPLATE_URL_SYNTAX

      static final String TEMPLATE_URL_SYNTAX
      template-url-syntax (string): The template-url-syntax MUST be the WBEM URI Mapping of the location of one service access point offered by the WBEM Server over TCP transport. This attribute must provide sufficient addressing information so that the WBEM Server can be addressed directly using the URL. The WBEM URI Mapping is defined in the WBEM URI Mapping Specification 1.0.0 (DSP0207).

      Example: (template-url-syntax=https://localhost:5989)
      See Also:
    • SERVICE_HI_NAME

      static final String SERVICE_HI_NAME
      service-hi-name (string, optional): This string is used as a name of the CIM service for human interfaces. This attribute MUST be the CIM_ObjectManager.ElementName property value.
      See Also:
    • SERVICE_HI_DESC

      static final String SERVICE_HI_DESC
      service-hi-description (string, optional): This string is used as a description of the CIM service for human interfaces.This attribute MUST be the CIM_ObjectManager.Description property value.
      See Also:
    • SERVICE_ID

      static final String SERVICE_ID
      service-id (string, literal): The ID of this WBEM Server. The value MUST be the CIM_ObjectManager.Name property value.
      See Also:
    • COMM_MECHANISM

      static final String COMM_MECHANISM
      CommunicationMechanism (string, literal): The communication mechanism (protocol) used by the CIM Object Manager for this service-location-tcp defined in this advertisement. This information MUST be the CIM_ObjectManagerCommunicationMechanism.CommunicationMechanism property value. CIM-XML is defined in the CIM Operations over HTTP specification which can be found at http://www.dmtf.org/

      Values: "Unknown", "Other", "cim-xml"
      See Also:
    • OTHER_COMM_MECHN_DESC

      static final String OTHER_COMM_MECHN_DESC
      OtherCommunicationMechanismDescription (string, literal, optional): The other communication mechanism defined for the CIM Server in the case the "Other" value is set in the CommunicationMechanism string. This attribute MUST be the CIM_ObjectManagerCommunicationMechanism.OtherCommunicationMechanism property value. This attribute is optional because it is only required if the "other" value is set in CommunicationMechansim. The value returned is a free-form string.
      See Also:
    • INTEROP_NS

      static final String INTEROP_NS
      InteropSchemaNamespace (string, literal, multiple): Namespace within the target WBEM Server where the CIM Interop Schema can be accessed. Multiple namespaces may be provided. Each namespace provided MUST contain the same information.
      See Also:
    • PROTOCOL_VERSION

      static final String PROTOCOL_VERSION
      ProtocolVersion (string, literal, optional): The version of the protocol. It MUST be the CIM_ObjectManagerCommunicationMechanism.Version property value.
      See Also:
    • FUNCTIONAL_PROF_SUPP

      static final String FUNCTIONAL_PROF_SUPP
      FunctionalProfilesSupported (string, literal, multiple): ProfilesSupported defines the CIM Operation profiles supported by the CIM Object Manager. This attribute MUST be the CIM_ObjectManagerCommunicationMechansim.FunctionalProfilesSupported property value.

      Values: "Unknown", "Other", "Basic Read", "Basic Write", "Schema Manipulation", "Instance Manipulation", "Association Traversal", "Query Execution", "Qualifier Declaration", "Indications"
      See Also:
    • FUNCTIONAL_PROF_DESC

      static final String FUNCTIONAL_PROF_DESC
      FunctionalProfileDescriptions (string, literal, multiple, optional): Other profile description if the "other" value is set in the ProfilesSupported attribute. This attribute is optional because it is returned only if the "other" value is set in the ProfilesSupported attribute. If provided it MUST be equal to the CIM_ObjectManagerCommunicationMechanism.FunctionalProfileDescriptions property value.
      See Also:
    • MULT_OPERATIONS_SUPP

      static final String MULT_OPERATIONS_SUPP
      MultipleOperationsSupported (boolean): Defines whether the CIM Object Manager supports batch operations. This attribute MUST be the CIM_ObjectManagerCommunicationMechanism.MultipleOperationsSupported property value.
      See Also:
    • AUTH_MECH_SUPP

      static final String AUTH_MECH_SUPP
      AuthenticationMechanismsSupported (string, literal, multiple): Defines the authentication mechanism supported by the CIM Object Manager. This attributed MUST be the CIM_ObjectManagerCommunicationMechanism. AuthenticationMechanismsSupported property value.

      Values: "Unknown", "None", "Other", "Basic", "Digest"
      See Also:
    • AUTH_MECH_DESC

      static final String AUTH_MECH_DESC
      AuthenticationMechansimDescriptions (string, literal, multiple, optional): Defines other Authentication mechanisms supported by the CIM Object Manager in the case where the "Other" value is set in any of the AuthenticationMechanismSupported attribute values. If provided, this attribute MUST be the CIM_ObjectManagerCommunicationMechanism. AuthenticationMechansimDescriptions property value.
      See Also:
    • NAMESPACE

      static final String NAMESPACE
      Namespace (string, literal, multiple, optional): Namespace(s) supported on the CIM Object Manager. This attribute MUST be the CIM_Namespace.name property value for each instance of CIM_Namespace that exists. This attribute is optional. NOTE: This value is literal (L) because the namespace names MUST not be translated into other languages.
      See Also:
    • CLASSINFO

      static final String CLASSINFO
      Classinfo (string, multiple, optional): This attributes is optional but if used, the values MUST be the CIM_Namespace.Classinfo property value. The values represent the classinfo (CIM Schema version, etc.) for the namespaces defined in the corresponding namespace listed in the Namespace attribute. Each entry in this attribute MUST correspond to the namespace defined in the same position of the namespace attribute. There must be one entry in this attribute for each entry in the namespace attribute.
      See Also:
    • REG_PROF_SUPP

      static final String REG_PROF_SUPP
      RegisteredProfilesSupported (string, literal, multiple): RegisteredProfilesSupported defines the Profiles that this WBEM Server has support for. Each entry in this attribute MUST be in the form of Organization:Profile Name{:Subprofile Name}

      Examples:

      DMTF:CIM Server
      DMTF:CIM Server:Protocol Adapter
      DMTF:CIM Server:Provider Registration

      The Organization MUST be the CIM_RegisteredProfile.RegisteredOrganization property value. The Profile Name MUST be the CIM_RegisteredProfile.RegisteredName property value. The subprofile Name MUST be the CIM_RegisteredProfile.RegisteredName property value when it is used as a Dependent in the CIM_SubProfileRequiresProfile association for the specified Profile Name (used as the antecedent).
      See Also:
  • Method Details

    • getDirectory

      String getDirectory()
      Gets the URL of the directory from which this advertisement was received
      Returns:
      The directory URL
    • getConcreteServiceType

      String getConcreteServiceType()
      Returns the concrete service type. E.g. for the SLP advertised service service:wbem:https this method would return https.
      Returns:
      The concrete service type
    • getInteropNamespaces

      String[] getInteropNamespaces()
      Returns the interop namespaces
      Returns:
      The interop namespaces
    • getServiceUrl

      String getServiceUrl()
      Returns the service url, e.g. http://9.155.62.79:5988
      Returns:
      The service url
    • getAttribute

      String getAttribute(String pAttributeName)
      Return the attribute value for a given attribute name
      Parameters:
      pAttributeName - The attribute name
      Returns:
      The value
    • getAttributes

      Set<Map.Entry<String,String>> getAttributes()
      Return the set of attributes of this advertisement
      Returns:
      A Set<Map.Entry<String, String>> containing the name value pairs of the attributes.
    • getServiceId

      String getServiceId()
      Returns the service id
      Returns:
      The service id
    • isExpired

      boolean isExpired()
      Returns the expiration state of the advertisement.
      Returns:
      true when advertisement is expired.
    • setExpired

      void setExpired(boolean pExpired)
      Sets the expirations state of the advertisement. Might be used by the application to mark an advertisement as expired, e.g. when it's no longer reported by the corresponding directory. Used for this purpose by AdvertisementCatalog.
      Parameters:
      pExpired - The new value
    • createClient

      WBEMClient createClient(Subject pSubject, Locale[] pLocales) throws Exception
      Creates a fully-initialized WBEMClient instance connected to the service that is subject of this advertisement. On every call to this method a new client will be created. The client is not stored or cached anywhere in this class.
      Parameters:
      pSubject - The credential for authenticating with the service
      pLocales - An array of locales ordered by preference
      Returns:
      The WBEM client
      Throws:
      Exception
      Related patterns or idioms:
      Factory Methods