/* * Copyright 2011 FatWire Corporation. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package tools.gsf.mapping; import tools.gsf.facade.assetapi.AssetIdWithSite; import java.util.Map; /** * Service the read the mappings for an asset. * * @author Dolf Dijkstra * @since Apr 13, 2011 */ public interface MappingService { /** * Determine the asset (CSElement or Template) that has mapped values contained * within it, given the input pagename. Note that this is UNABLE to resolve a * mapping that applies to an element that is called as an element from within the * root element of another page. * @param pagename the pagename, whose rootelement is either the mapped template or mapped cselement. * @return the asset id and site, if found, or null */ AssetIdWithSite resolveMapped(String pagename); /** * Determine the asset (CSElement or Template) that has mapped values contained * within it, given the input eid and tid variables. Note that it is expected that * at most one of these two will be set at a time, and never both. * @param eid the eid resdetails value * @param tid the tid resdetails value * @param site the site variable value * @return the asset id and site, if found, or null */ AssetIdWithSite resolveMapped(String eid, String tid, String site); /** * Reads the mappings for the asset and the site. * * @param id the asset that holds the mapping. * @return the mappings for the asset. */ Map<String, MappingValue> readMapping(AssetIdWithSite id); }