View Javadoc
1   /*
2    * Copyright 2011 FatWire Corporation. All Rights Reserved.
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *    http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  package tools.gsf.mapping;
17  
18  import tools.gsf.facade.assetapi.AssetIdWithSite;
19  
20  import java.util.Map;
21  
22  
23  /**
24   * Service the read the mappings for an asset.
25   *
26   * @author Dolf Dijkstra
27   * @since Apr 13, 2011
28   */
29  public interface MappingService {
30  
31      /**
32       * Determine the asset (CSElement or Template) that has mapped values contained
33       * within it, given the input pagename. Note that this is UNABLE to resolve a
34       * mapping that applies to an element that is called as an element from within the
35       * root element of another page.
36       * @param pagename the pagename, whose rootelement is either the mapped template or mapped cselement.
37       * @return the asset id and site, if found, or null
38       */
39      AssetIdWithSite resolveMapped(String pagename);
40  
41      /**
42       * Determine the asset (CSElement or Template) that has mapped values contained
43       * within it, given the input eid and tid variables. Note that it is expected that
44       * at most one of these two will be set at a time, and never both.
45       * @param eid the eid resdetails value
46       * @param tid the tid resdetails value
47       * @param site the site variable value
48       * @return the asset id and site, if found, or null
49       */
50      AssetIdWithSite resolveMapped(String eid, String tid, String site);
51  
52      /**
53       * Reads the mappings for the asset and the site.
54       *
55       * @param id the asset that holds the mapping.
56       * @return the mappings for the asset.
57       */
58      Map<String, MappingValue> readMapping(AssetIdWithSite id);
59  
60  }