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 java.lang.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.
      static java.lang.String AUTH_MECH_SUPP
      AuthenticationMechanismsSupported (string, literal, multiple): Defines the authentication mechanism supported by the CIM Object Manager.
      static java.lang.String CLASSINFO
      Classinfo (string, multiple, optional): This attributes is optional but if used, the values MUST be the CIM_Namespace.Classinfo property value.
      static java.lang.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.
      static java.lang.String FUNCTIONAL_PROF_DESC
      FunctionalProfileDescriptions (string, literal, multiple, optional): Other profile description if the "other" value is set in the ProfilesSupported attribute.
      static java.lang.String FUNCTIONAL_PROF_SUPP
      FunctionalProfilesSupported (string, literal, multiple): ProfilesSupported defines the CIM Operation profiles supported by the CIM Object Manager.
      static java.lang.String INTEROP_NS
      InteropSchemaNamespace (string, literal, multiple): Namespace within the target WBEM Server where the CIM Interop Schema can be accessed.
      static java.lang.String MULT_OPERATIONS_SUPP
      MultipleOperationsSupported (boolean): Defines whether the CIM Object Manager supports batch operations.
      static java.lang.String NAMESPACE
      Namespace (string, literal, multiple, optional): Namespace(s) supported on the CIM Object Manager.
      static java.lang.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.
      static java.lang.String PROTOCOL_VERSION
      ProtocolVersion (string, literal, optional): The version of the protocol.
      static java.lang.String REG_PROF_SUPP
      RegisteredProfilesSupported (string, literal, multiple): RegisteredProfilesSupported defines the Profiles that this WBEM Server has support for.
      static java.lang.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.
      static java.lang.String SERVICE_HI_NAME
      service-hi-name (string, optional): This string is used as a name of the CIM service for human interfaces.
      static java.lang.String SERVICE_ID
      service-id (string, literal): The ID of this WBEM Server.
      static java.lang.String TEMPLATE_DESCRIPTION
      template-description (string): A description of the service suitable for inclusion in text read by people.
      static java.lang.String TEMPLATE_TYPE
      template-type (string): The scheme name of the service scheme.
      static java.lang.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.
      static java.lang.String TEMPLATE_VERSION
      template-version (string): The version number of the service type specification.
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      WBEMClient createClient​(javax.security.auth.Subject pSubject, java.util.Locale[] pLocales)
      Creates a fully-initialized WBEMClient instance connected to the service that is subject of this advertisement.
      java.lang.String getAttribute​(java.lang.String pAttributeName)
      Return the attribute value for a given attribute name
      java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.String>> getAttributes()
      Return the set of attributes of this advertisement
      java.lang.String getConcreteServiceType()
      Returns the concrete service type.
      java.lang.String getDirectory()
      Gets the URL of the directory from which this advertisement was received
      java.lang.String[] getInteropNamespaces()
      Returns the interop namespaces
      java.lang.String getServiceId()
      Returns the service id
      java.lang.String getServiceUrl()
      Returns the service url, e.g.
      boolean isExpired()
      Returns the expiration state of the advertisement.
      void setExpired​(boolean pExpired)
      Sets the expirations state of the advertisement.
    • Field Detail

      • TEMPLATE_TYPE

        static final java.lang.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:
        Constant Field Values
      • TEMPLATE_VERSION

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

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

        static final java.lang.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:
        Constant Field Values
      • SERVICE_HI_NAME

        static final java.lang.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:
        Constant Field Values
      • SERVICE_HI_DESC

        static final java.lang.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:
        Constant Field Values
      • SERVICE_ID

        static final java.lang.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:
        Constant Field Values
      • COMM_MECHANISM

        static final java.lang.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:
        Constant Field Values
      • OTHER_COMM_MECHN_DESC

        static final java.lang.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:
        Constant Field Values
      • INTEROP_NS

        static final java.lang.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:
        Constant Field Values
      • PROTOCOL_VERSION

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

        static final java.lang.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:
        Constant Field Values
      • FUNCTIONAL_PROF_DESC

        static final java.lang.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:
        Constant Field Values
      • MULT_OPERATIONS_SUPP

        static final java.lang.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:
        Constant Field Values
      • AUTH_MECH_SUPP

        static final java.lang.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:
        Constant Field Values
      • AUTH_MECH_DESC

        static final java.lang.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:
        Constant Field Values
      • NAMESPACE

        static final java.lang.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:
        Constant Field Values
      • CLASSINFO

        static final java.lang.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:
        Constant Field Values
      • REG_PROF_SUPP

        static final java.lang.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:
        Constant Field Values
    • Method Detail

      • getDirectory

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

        java.lang.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

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

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

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

        java.util.Set<java.util.Map.Entry<java.lang.String,​java.lang.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

        java.lang.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​(javax.security.auth.Subject pSubject,
                                java.util.Locale[] pLocales)
                         throws java.lang.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:
        java.lang.Exception
        Related patterns or idioms:
        Factory Methods