// Path: src/main/java/com/l2bq/logging/analysis/BigqueryFieldExporter.java
// public interface BigqueryFieldExporter {
// 	
// 	/**
// 	 * Called for each RequestLogs to be processed. Should store necessary state
// 	 * to respond to later {@link #getField(String) getField} calls.
// 	 * 
// 	 * @param log entry to be processed
// 	 */
// 	public void processLog(RequestLogs log);
// 	
// 	/**
// 	 * Return the value of the given field for the last processed log.
// 	 * Any Object with a toString method that generates a BigQuery readable
// 	 * string is allowed.
// 	 * 
// 	 * The String is interned so that the reference can be compared directly.
// 	 * 
// 	 * @param name an intern'ed string returned from {@link #getFieldName(int) getFieldName}
// 	 * @return the field's value or null if the name is invalid
// 	 */
// 	public Object getField(String name);
// 	
// 	/**
// 	 * @return the number of fields generated by this exporter
// 	 */
// 	public int getFieldCount();
// 	
// 	/**
// 	 * Indexing must be consistent with {@link #getFieldType(int) getFieldType}.
// 	 * 
// 	 * @param i the field index
// 	 * @return the name of the i'th field
// 	 */
// 	public String getFieldName(int i);
// 	
// 	/**
// 	 * Indexing must be consistent with {@link #getFieldName(int) getFieldName}.
// 	 * 
// 	 * @param i the field index
// 	 * @return the BigQuery data type of the i'th field
// 	 */
// 	public String getFieldType(int i);
// 	
// 	/**
// 	 * Determine this processed {@link RequestLogs} is either a App Log or Request Header(or body) Log
// 	 * @return If this processed {@link RequestLogs} is a App Log, return true. Otherwise return false.
// 	 */
// 	public boolean isAppLogProcessed();
// 	
// 	/**
// 	 * Return processed log lines in {@link RequestLogs}
// 	 * @return List of Processed App Log Lines
// 	 */
// 	public List<String> getAppLogLines();
// 	
// 	/**
// 	 * Move iterator for app log lines list to next position
// 	 * @return If go to end line, return false
// 	 */
// 	public boolean nextAppLogLine();
// 	
// }


import java.util.List;
import com.google.appengine.api.log.RequestLogs;
import com.l2bq.logging.analysis.BigqueryFieldExporter;
	public int getFieldCount() {
		return 1;
	}

	@Override
	public String getFieldName(int i) {
		return "instanceKey";
	}

	@Override
	public String getFieldType(int i) {
		return "string";
	}

	@Override
	public boolean isAppLogProcessed()
	{
		return false;
	}

	@Override
	public List<String> getAppLogLines()
	{
		return null;
	}

	@Override
	public boolean nextAppLogLine()
	{
		// TODO Auto-generated method stub
// Path: src/main/java/com/l2bq/logging/analysis/BigqueryFieldExporter.java
// public interface BigqueryFieldExporter {
// 	
// 	/**
// 	 * Called for each RequestLogs to be processed. Should store necessary state
// 	 * to respond to later {@link #getField(String) getField} calls.
// 	 * 
// 	 * @param log entry to be processed
// 	 */
// 	public void processLog(RequestLogs log);
// 	
// 	/**
// 	 * Return the value of the given field for the last processed log.
// 	 * Any Object with a toString method that generates a BigQuery readable
// 	 * string is allowed.
// 	 * 
// 	 * The String is interned so that the reference can be compared directly.
// 	 * 
// 	 * @param name an intern'ed string returned from {@link #getFieldName(int) getFieldName}
// 	 * @return the field's value or null if the name is invalid
// 	 */
// 	public Object getField(String name);
// 	
// 	/**
// 	 * @return the number of fields generated by this exporter
// 	 */
// 	public int getFieldCount();
// 	
// 	/**
// 	 * Indexing must be consistent with {@link #getFieldType(int) getFieldType}.
// 	 * 
// 	 * @param i the field index
// 	 * @return the name of the i'th field
// 	 */
// 	public String getFieldName(int i);
// 	
// 	/**
// 	 * Indexing must be consistent with {@link #getFieldName(int) getFieldName}.
// 	 * 
// 	 * @param i the field index
// 	 * @return the BigQuery data type of the i'th field
// 	 */
// 	public String getFieldType(int i);
// 	
// 	/**
// 	 * Determine this processed {@link RequestLogs} is either a App Log or Request Header(or body) Log
// 	 * @return If this processed {@link RequestLogs} is a App Log, return true. Otherwise return false.
// 	 */
// 	public boolean isAppLogProcessed();
// 	
// 	/**
// 	 * Return processed log lines in {@link RequestLogs}
// 	 * @return List of Processed App Log Lines
// 	 */
// 	public List<String> getAppLogLines();
// 	
// 	/**
// 	 * Move iterator for app log lines list to next position
// 	 * @return If go to end line, return false
// 	 */
// 	public boolean nextAppLogLine();
// 	
// }


// Path: src/main/java/com/l2bq/logging/analysis/exporter/http/InstanceFieldExporter.java
import java.util.List;
import com.google.appengine.api.log.RequestLogs;
import com.l2bq.logging.analysis.BigqueryFieldExporter;

	public int getFieldCount() {
		return 1;
	}

	@Override
	public String getFieldName(int i) {
		return "instanceKey";
	}

	@Override
	public String getFieldType(int i) {
		return "string";
	}

	@Override
	public boolean isAppLogProcessed()
	{
		return false;
	}

	@Override
	public List<String> getAppLogLines()
	{
		return null;
	}

	@Override
	public boolean nextAppLogLine()
	{
		// TODO Auto-generated method stub
		return false;