/* Copyright (c) 2008 Google Inc.
*
* 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 mashups.eventpub;
import java.util.HashMap;
/**
* Store the mapping between Spreadsheet columns and needed data
*
*
*/
public class SpreadsheetCustomFieldMap {
public static final long serialVersionUID = 1L;
private HashMap<String, String> fieldMap = null;
/**
* Constructs a new SpreadsheetCustomFieldMap
*
* @param title Column name for event title
* @param description Column name for event description
* @param start Column name for event start date
* @param end Column name for event end date
* @param location Column name for the event location
* @param website Column name for the event website
* @param calendarUrl Column name for the calendar event edit URL
* @param baseUrl Column name for the base event edit URL
*/
public SpreadsheetCustomFieldMap(String title, String description,
String start, String end, String location, String website,
String calendarUrl, String baseUrl) {
fieldMap = new HashMap<String, String>();
setField("title", title);
setField("description", description);
setField("start", start);
setField("end", end);
setField("location", location);
setField("website", website);
setField("calendarUrl", calendarUrl);
setField("baseUrl", baseUrl);
}
/**
* Sets the field in the fieldMap, stripping any whitespaces from the
* name of the column in the spreadsheet
*
* @param name The name of the field needed
* @param value The name of the column in the spreadsheet
*/
public void setField(String name, String value) {
fieldMap.put(name, value.replace(" ", ""));
}
/**
* Returns the name of the column identifying the title
*
* @return Column name for the event title
*/
public String getTitleColumn() {
return (String)fieldMap.get("title");
}
/**
* Returns the name of the column identifying the description
*
* @return Column name for the event description
*/
public String getDescriptionColumn() {
return (String)fieldMap.get("description");
}
/**
* Returns the name of the column identifying the start
*
* @return Column name for the event start
*/
public String getStartColumn() {
return (String)fieldMap.get("start");
}
/**
* Returns the name of the column identifying the end
*
* @return Column name for the event end
*/
public String getEndColumn() {
return (String)fieldMap.get("end");
}
/**
* Returns the name of the column identifying the location
*
* @return Column name for the event location
*/
public String getLocationColumn() {
return (String)fieldMap.get("location");
}
/**
* Returns the name of the column identifying the website
*
* @return Column name for the event website
*/
public String getWebsiteColumn() {
return (String)fieldMap.get("website");
}
/**
* Returns the name of the column identifying the calendarUrl
*
* @return Column name for the event calendarUrl
*/
public String getCalendarUrlColumn() {
return (String)fieldMap.get("calendarUrl");
}
/**
* Returns the name of the column identifying the baseUrl
*
* @return Column name for the event baseUrl
*/
public String getBaseUrlColumn() {
return (String)fieldMap.get("baseUrl");
}
}