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 }