| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| ServiceInfoContract | 
  | 
  | 1.0;1 | 
| 1 |  package org.kuali.rice.ksb.api.registry; | |
| 2 | ||
| 3 |  import javax.xml.namespace.QName; | |
| 4 | ||
| 5 |  import org.kuali.rice.core.api.CoreConstants; | |
| 6 |  import org.kuali.rice.core.api.mo.common.Versioned; | |
| 7 |  import org.kuali.rice.ksb.api.bus.ServiceConfiguration; | |
| 8 | ||
| 9 |  /** | |
| 10 |   * Defines the contract for information about a service that is published in | |
| 11 |   * the {@link ServiceRegistry}. | |
| 12 |   *  | |
| 13 |   * @see ServiceRegistry | |
| 14 |   *  | |
| 15 |   * @author Kuali Rice Team (rice.collab@kuali.org) | |
| 16 |   * | |
| 17 |   */ | |
| 18 | public interface ServiceInfoContract extends Versioned {  | |
| 19 | ||
| 20 |          /** | |
| 21 |           * Returns the identifier for the service. | |
| 22 |           *  | |
| 23 |           * @return the identifier for the service, will only be null if the | |
| 24 |           * service has not yet been published to the registry | |
| 25 |           */ | |
| 26 |          public String getServiceId(); | |
| 27 | ||
| 28 |          /** | |
| 29 |           * Returns the name of the service as a qualified name consisting of a | |
| 30 |           * namespace and a name. | |
| 31 |           *  | |
| 32 |           * @return the name of the service, should never be null | |
| 33 |           */ | |
| 34 |          public QName getServiceName(); | |
| 35 | ||
| 36 |          /** | |
| 37 |           * Returns the URL of the service as a string. | |
| 38 |           *  | |
| 39 |           * @return the url of the service, should never be null or blank | |
| 40 |           */ | |
| 41 |          public String getEndpointUrl(); | |
| 42 | ||
| 43 |          /** | |
| 44 |           * Returns the id of the instance that published and owns the service. | |
| 45 |           *  | |
| 46 |           * @return the instance id of this service, should never be null or blank | |
| 47 |           */ | |
| 48 |          public String getInstanceId(); | |
| 49 | ||
| 50 |          /** | |
| 51 |           * Returns the id of the application that published and owns the service. | |
| 52 |           *  | |
| 53 |           * @return the application id of this service, should never be null or blank | |
| 54 |           */ | |
| 55 |          public String getApplicationId(); | |
| 56 | ||
| 57 |          /** | |
| 58 |           * Return the IP address of the server on which the application is running which | |
| 59 |           * published and owns the service.  This value could be either an IPv4 or | |
| 60 |           * IPv6 address, but it should never return a null or empty string. | |
| 61 |           *  | |
| 62 |           * @return the IP address of this service, should never be null or blank | |
| 63 |           */ | |
| 64 |          public String getServerIpAddress(); | |
| 65 | ||
| 66 |          /** | |
| 67 |           * Returns the type of this service.  Will generally distinguish the format | |
| 68 |           * of the data being brokered by the service (i.e. SOAP, REST, Java | |
| 69 |           * Serialization, etc.) | |
| 70 |           *  | |
| 71 |           * @return the type of this service, should never be null or blank | |
| 72 |           */ | |
| 73 |          public String getType(); | |
| 74 | ||
| 75 |          /** | |
| 76 |           * Returns the version information of this service.  The publisher of the | |
| 77 |           * service can use any value they choose for the service versions. | |
| 78 |           * However, there is one standard version which represents a service | |
| 79 |           * without any version information, and that is {@link CoreConstants.Versions#UNSPECIFIED}. | |
| 80 |           *  | |
| 81 |           * @return the version of this service, or {@link CoreConstants.Versions#UNSPECIFIED} | |
| 82 |           * if no version has been secified, should never return a null or blank value | |
| 83 |           */ | |
| 84 |          public String getServiceVersion(); | |
| 85 | ||
| 86 |          /** | |
| 87 |           * Return the status of the service endpoint represented by this service. | |
| 88 |           *  | |
| 89 |           * @return the status of this service | |
| 90 |           */ | |
| 91 |          public ServiceEndpointStatus getStatus(); | |
| 92 | ||
| 93 |          /** | |
| 94 |           * Returns the id of the service descriptor for this service.  This id can | |
| 95 |           * be used to help locate the {@link ServiceDescriptorContract} for this | |
| 96 |           * service which includes more detailed information on this service. | |
| 97 |           *  | |
| 98 |           * @return the id of the service descriptor for this service, will only return | |
| 99 |           * a null value if the service has not yet been published | |
| 100 |           */ | |
| 101 |          public String getServiceDescriptorId(); | |
| 102 | ||
| 103 |          /** | |
| 104 |           * Returns a checksum value for the {@link ServiceConfiguration} stored in the | |
| 105 |           * {@link ServiceDescriptorContract} for this service.  This allows for fast | |
| 106 |           * comparison of services during various registry operations. | |
| 107 |           *  | |
| 108 |           * @return the checksum for this service, should never return a null or blank value | |
| 109 |           */ | |
| 110 |          public String getChecksum(); | |
| 111 | ||
| 112 | }  |