View Javadoc

1   /**
2    * Copyright (C) 2005-2009 Alfresco Software Limited.
3    *
4    * This file is part of the Spring Surf Extension project.
5    *
6    * Licensed under the Apache License, Version 2.0 (the "License");
7    * you may not use this file except in compliance with the License.
8    * You may obtain a copy of the License at
9    *
10   *  http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing, software
13   * distributed under the License is distributed on an "AS IS" BASIS,
14   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15   * See the License for the specific language governing permissions and
16   * limitations under the License.
17   */
18  
19  package org.springframework.extensions.surf.resource;
20  
21  import org.springframework.extensions.surf.exception.ResourceLoaderException;
22  
23  /**
24   * Interface for resource loader.
25   * 
26   * A resource loader is responsible for loading and creating a Resource
27   * object for a given object id.
28   * 
29   * Example: The object id may be a nodeRef to a document in the
30   * Alfresco content management system.  Or, it might be a URL to an
31   * asset somewhere else in the world.
32   * 
33   * A resource loader knows how to retrieve the metadata and content for
34   * the resource and manufacture a Resource object for use by the Web
35   * Framework.
36   * 
37   * @author muzquiano
38   */
39  public interface ResourceLoader
40  {
41      /**
42       * Returns the endpoint id for this resource loader
43       * 
44       * @return the endpoint id
45       */
46      public String getEndpointId();
47      
48      /**
49       * Gets the protocol id.
50       * 
51       * @return the protocol id
52       */
53      public String getProtocolId();
54      
55      /**
56       * Loads the resource with the given object id
57       * 
58       * @param objectId
59       * @return
60       * @throws ResourceLoaderException
61       */
62      public Resource load(String objectId)
63              throws ResourceLoaderException;
64  }