1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 /* 22 * Copyright (c) 1999 by Sun Microsystems, Inc. 23 * All rights reserved. 24 * 25 */ 26 27 // UserAgent.java: Interface for the SLP User Agent operations 28 // Author: James Kempf 29 // Created On: Mon Jul 7 09:15:56 1997 30 // Last Modified By: James Kempf 31 // Last Modified On: Wed May 13 17:46:29 1998 32 // Update Count: 17 33 // 34 35 package com.sun.slp; 36 37 import java.util.*; 38 39 /** 40 * The Locator interface allows clients to query SLP for existing 41 * services, scopes, and service instances, and to query about attributes 42 * of a particular service instance. 43 * 44 * @see ServiceLocationManager 45 * 46 * @author James Kempf, Erik Guttman 47 */ 48 49 public interface Locator { 50 51 /** 52 * Return the Locator's locale object. 53 * 54 * @return The Locale object. 55 */ 56 getLocale()57 Locale getLocale(); 58 59 /** 60 * Return an enumeration of known service types for this scope and naming 61 * authority. Unless a proprietary or experimental service is being 62 * discovered, the namingAuthority parameter should be the empty 63 * string, "". 64 * 65 * @param namingAuthority The naming authority, "" for default, 66 * '*' for any naming authority. 67 * @param scopes The SLP scopes of the types. 68 * @return ServiceLocationEnumeration of ServiceType objects for 69 * the service type names. 70 * @exception IllegalArgumentException If any of the parameters are 71 * null or syntactically incorrect. 72 * @exception ServiceLocationException An exception is thrown if the 73 * operation fails. 74 */ 75 findServiceTypes(String namingAuthority, Vector scopes)76 public ServiceLocationEnumeration findServiceTypes(String namingAuthority, 77 Vector scopes) 78 throws ServiceLocationException; 79 80 /** 81 * Return an enumeration of ServiceURL objects for services matching 82 * the query. The services are returned from the locale of the 83 * locator. 84 * 85 * @param type The type of the service (e.g. printer, etc.). 86 * @param scopes The SLP scopes of the service types. 87 * @param query A string with the SLP query. 88 * @return ServiceLocationEnumeration of ServiceURL objects for 89 * services matching the 90 * attributes. 91 * @exception ServiceLocationException An exception is returned if the 92 * operation fails. 93 * @see ServiceURL 94 */ 95 findServices(ServiceType type, Vector scopes, String query)96 public ServiceLocationEnumeration findServices(ServiceType type, 97 Vector scopes, 98 String query) 99 throws ServiceLocationException; 100 101 /** 102 * Return the attributes for the service URL, using the locale 103 * of the locator. 104 * 105 * @param URL The service URL. 106 * @param scopes The SLP scopes of the service. 107 * @param attributeIds A vector of strings identifying the desired 108 * attributes. A null value means return all 109 * the attributes. <b>Partial id strings</b> may 110 * begin with '*' to match all ids which end with 111 * the given suffix, or end with '*' to match all 112 * ids which begin with a given prefix, or begin 113 * and end with '*' to do substring matching for 114 * ids containing the given partial id. 115 * @return ServiceLocationEnumeration of ServiceLocationAttribute 116 * objects matching the ids. 117 * @exception ServiceLocationException An exception is returned if the 118 * operation fails. 119 * @exception IllegalArgumentException If any of the parameters are 120 * null or syntactically incorrect. 121 * @see ServiceLocationAttribute 122 * 123 */ 124 findAttributes(ServiceURL URL, Vector scopes, Vector attributeIds)125 public ServiceLocationEnumeration findAttributes(ServiceURL URL, 126 Vector scopes, 127 Vector attributeIds) 128 throws ServiceLocationException; 129 130 /** 131 * Return all attributes for all service URL's having this 132 * service type in the locale of the Locator. 133 * 134 * @param type The service type. 135 * @param scopes The SLP scopes of the service type. 136 * @param attributeIds A vector of strings identifying the desired 137 * attributes. A null value means return all 138 * the attributes. <b>Partial id strings</b> may 139 * begin with '*' to match all ids which end with 140 * the given suffix, or end with '*' to match all 141 * ids which begin with a given prefix, or begin 142 * and end with '*' to do substring matching for 143 * ids containing the given partial id. 144 * @return ServiceLocationEnumeration of ServiceLocationAttribute 145 * objects matching the ids. 146 * @exception ServiceLocationException An exception is returned if the 147 * operation fails. 148 * @exception IllegalArgumentException If any of the parameters are 149 * null or syntactically incorrect. 150 * @see ServiceLocationAttribute 151 * 152 */ 153 findAttributes(ServiceType type, Vector scopes, Vector attributeIds)154 public ServiceLocationEnumeration findAttributes(ServiceType type, 155 Vector scopes, 156 Vector attributeIds) 157 throws ServiceLocationException; 158 159 160 } 161