/*
* Copyright 2012 Rui Afonso
*
* 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 com.googlecode.gwt.charts.client.format;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsDate;
import com.googlecode.gwt.charts.client.DataTable;
import com.googlecode.gwt.charts.client.util.DateHelper;
import java.util.Date;
/**
* Formats a Date value in a variety of ways, including "January 1, 2009," "1/1/09" and "Jan 1, 2009.
*/
public class DateFormat extends JavaScriptObject {
/**
* Default constructor.
*
* @param options formatter options
* @return a new object instance
*/
public static native DateFormat create(DateFormatOptions options) /*-{
return new $wnd.google.visualization.DateFormat(options);
}-*/;
protected DateFormat() {
}
/**
* Apply formatter to given column index.
*
* @param data the data source
* @param colIndex column index
*/
public final native void format(DataTable data, int colIndex) /*-{
this.format(data, colIndex);
}-*/;
/**
* Returns the formatted value of a given value. This method does not require a DateTable.
* @param value a given date
* @return formatted value of a given value
*/
public final String formatValue(Date value) {
return formatValue(DateHelper.getJsDate(value));
}
private final native String formatValue(JsDate value) /*-{
return this.formatValue(value);
}-*/;
}