/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright (c) 1999 by Sun Microsystems, Inc.
* All rights reserved.
*
*/
// ServiceLocationAttributeVerifier.java: Attribute parser for SLP templates.
// Author: James Kempf
// Created On: Thu Jun 19 10:20:25 1997
// Last Modified By: James Kempf
// Last Modified On: Wed Jun 24 15:50:43 1998
// Update Count: 22
//
package com.sun.slp;
import java.util.*;
/**
* Classes implementing the ServiceLocationAttributeVerifier interface
* parse SLP template definitions, provide information on attribute
* definitions for service types, and verify whether a
* ServiceLocationAttribute object matches a template for a particular
* service type. Clients obtain ServiceLocationAttributeVerifier
* objects for specific SLP service types through the TemplateRegistry.
*
* @author James Kempf
*
*/
public interface ServiceLocationAttributeVerifier {
/**
* Returns the SLP service type for which this is the verifier.
*
* @return The SLP service type name.
*/
public ServiceType getServiceType();
/**
* Returns the SLP language locale of this is the verifier.
*
* @return The SLP language locale.
*/
public Locale getLocale();
/**
* Returns the SLP version of this is the verifier.
*
* @return The SLP version.
*/
public String getVersion();
/**
* Returns the SLP URL syntax of this is the verifier.
*
* @return The SLP URL syntax.
*/
public String getURLSyntax();
/**
* Returns the SLP description of this is the verifier.
*
* @return The SLP description.
*/
public String getDescription();
/**
* Returns the ServiceLocationAttributeDescriptor object for the
* attribute having the named id. IF no such attribute exists in the
* template, returns null. This method is primarily for GUI tools to
* display attribute information. Programmatic verification of attributes
* should use the verifyAttribute() method.
*
* @param attrId Id of attribute to return.
* @return The ServiceLocationAttributeDescriptor object
* corresponding to the parameter, or null if none.
*/
public ServiceLocationAttributeDescriptor
getAttributeDescriptor(String attrId);
/**
* Returns an Enumeration of
* ServiceLocationAttributeDescriptors for the template. This method
* is primarily for GUI tools to display attribute information.
* Programmatic verification of attributes should use the
* verifyAttribute() method. Note that small memory implementations
* may want to implement the Enumeration so that attributes are
* parsed on demand rather than at creation time.
*
* @return A Dictionary with attribute id's as the keys and
* ServiceLocationAttributeDescriptor objects for the
* attributes as the values.
*/
public Enumeration getAttributeDescriptors();
/**
* Verify that the attribute parameter is a valid SLP attribute.
*
* @param attribute The ServiceLocationAttribute to be
* verified.
* @exception ServiceLocationException Thrown if the
* attribute vector is not valid. The message contains
* information on the attribute name and problem, and
* the error code is ServiceLocation.PARSE_ERROR.
*/
public void verifyAttribute(ServiceLocationAttribute attribute)
throws ServiceLocationException;
/**
* Verify that the set of registration attributes matches the
* required attributes for the service.
*
* @param attributeVector A Vector of
* ServiceLocationAttribute objects
* for the registration.
* @exception ServiceLocationException Thrown if the
* attribute vector is not valid. The message contains
* information on the attribute name and problem, and
* the error code is ServiceLocation.PARSE_ERROR.
*/
public void verifyRegistration(Vector attributeVector)
throws ServiceLocationException;
}