Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: org/apache/hivemind/service/impl/ServiceObjectProvider.java


1   // Copyright 2004, 2005 The Apache Software Foundation
2   //
3   // Licensed under the Apache License, Version 2.0 (the "License");
4   // you may not use this file except in compliance with the License.
5   // You may obtain a copy of the License at
6   //
7   //     http://www.apache.org/licenses/LICENSE-2.0
8   //
9   // Unless required by applicable law or agreed to in writing, software
10  // distributed under the License is distributed on an "AS IS" BASIS,
11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  // See the License for the specific language governing permissions and
13  // limitations under the License.
14  
15  package org.apache.hivemind.service.impl;
16  
17  import org.apache.hivemind.HiveMind;
18  import org.apache.hivemind.Location;
19  import org.apache.hivemind.internal.Module;
20  import org.apache.hivemind.service.ObjectProvider;
21  
22  /**
23   * An {@link org.apache.hivemind.service.ObjectProvider} that provides access to services. Returns
24   * null if the input is null. Deployed with the prefix "service".
25   * 
26   * @author Howard Lewis Ship
27   */
28  public class ServiceObjectProvider implements ObjectProvider
29  {
30      /**
31       * Interprets the locator as a service id, and passes it to
32       * {@link Module#getService(String, Class)}.
33       */
34      public Object provideObject(Module contributingModule, Class propertyType, String locator,
35              Location location)
36      {
37          if (HiveMind.isBlank(locator))
38              return null;
39  
40          return contributingModule.getService(locator, Object.class);
41      }
42  
43  }