com.pras
Class WorkSheet

java.lang.Object
  extended by com.pras.WorkSheet

public class WorkSheet
extends java.lang.Object

This class represents an WorkSheet and utility methods to manage WorkSheet data. WorkSheets will manage (Add/Edit/Delete) data in Tables. It also supports List based Feed, but only to retrieve data. At present it doesn't provide any method to Add/Edit/Delete data in List based Feed.

Table Feed
To Add/Edit/Delete Data, you need to use addRecord(), updateRecord() and deleteRecord(). It internally stores data in a single Table.
Note: Table Feed will ignore data entered through Web UI. So, if you want all data records irrespective of from where those are inserted/updated, you should use List Feed.

List Feed
To Retrieve data using List based Feed, use getData() method.

Author:
Prasanta Paul

Constructor Summary
WorkSheet()
           
 
Method Summary
 WorkSheetRow addListRow(java.util.HashMap<java.lang.String,java.lang.String> records)
          Add List Feed row.
 void addRecord(java.lang.String key, java.util.HashMap<java.lang.String,java.lang.String> records)
          Add record into WorkSheet.
 void delete()
          Delete this WorkSheet.
 void deleteListRow(java.lang.String key, WorkSheetRow r)
          Delete List Row
 void deleteRecord(Record record)
          Delete a Record
 int getColCount()
          Get column count of this WorkSheet
 java.lang.String[] getColumns()
          Get columns of the WorkSheet.
 java.util.ArrayList<WorkSheetRow> getData(boolean isCachedData)
          Get all data of this WorkSheet (List based Feed)
 java.util.ArrayList<WorkSheetRow> getData(boolean isCachedData, boolean doReverse, java.lang.String sq, java.lang.String orderBy)
          List based Feed for a particular Work Sheet.
 Entry getEntry()
          Get Entry instance for this WorkSheet.
 java.util.ArrayList<Record> getRecords()
          Get Cached Data (previously retrieved from server)
 java.util.ArrayList<Record> getRecords(java.lang.String key)
          Get data stored in this WorkSheet
 java.util.ArrayList<Record> getRecords(java.lang.String key, boolean doReverse, java.lang.String sq, java.lang.String orderBy)
          Get data stored in this WorkSheet.
 java.util.ArrayList<Record> getRecords(java.lang.String key, java.lang.String sq)
           
 int getRowCount()
          Get row count of this WorkSheet
 java.lang.String getTitle()
          Get WorkSheet Title
 java.lang.String getWorkSheetID()
          Get WorkSheet ID
 java.lang.String getWorkSheetURL()
          Get WorkSheetURL
 void setColCount(int colCount)
          Set column count of this WorkSheet
 void setColumns(java.lang.String[] columns)
          Set columns of ListFeed
 void setEntry(Entry entry)
          Set Feed Entry instance
 void setRowCount(int rowCount)
          Set row count of this WorkSheet
 void setTitle(java.lang.String title)
          Set WorkSheet Title
 void setWorkSheetID(java.lang.String workSheetID)
          Set WorkSheet ID
 void setWorkSheetURL(java.lang.String workSheetURL)
          Set WorkSheet
 WorkSheetRow updateListRow(java.lang.String key, WorkSheetRow r, java.util.HashMap<java.lang.String,java.lang.String> records)
          Update List row
 void updateRecord(Record record)
          Record instance you want to Update Keep only those data which you want to update for this record
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WorkSheet

public WorkSheet()
Method Detail

getWorkSheetID

public java.lang.String getWorkSheetID()
Get WorkSheet ID

Returns:

setWorkSheetID

public void setWorkSheetID(java.lang.String workSheetID)
Set WorkSheet ID

Parameters:
workSheetID -

getWorkSheetURL

public java.lang.String getWorkSheetURL()
Get WorkSheetURL

Returns:

setWorkSheetURL

public void setWorkSheetURL(java.lang.String workSheetURL)
Set WorkSheet

Parameters:
workSheetURL -

getTitle

public java.lang.String getTitle()
Get WorkSheet Title

Returns:

setTitle

public void setTitle(java.lang.String title)
Set WorkSheet Title

Parameters:
title -

getColCount

public int getColCount()
Get column count of this WorkSheet

Returns:

setColCount

public void setColCount(int colCount)
Set column count of this WorkSheet

Parameters:
colCount -

getRowCount

public int getRowCount()
Get row count of this WorkSheet

Returns:

setRowCount

public void setRowCount(int rowCount)
Set row count of this WorkSheet

Parameters:
rowCount -

getColumns

public java.lang.String[] getColumns()
Get columns of the WorkSheet. It will return columns of associated table, otherwise columns of List Feed i.e. content of Header row of ListFeed

Returns:

setColumns

public void setColumns(java.lang.String[] columns)
Set columns of ListFeed

Parameters:
columns -

getEntry

public Entry getEntry()
Get Entry instance for this WorkSheet. Entry contains low level Feed Details

Returns:

setEntry

public void setEntry(Entry entry)
Set Feed Entry instance

Parameters:
entry -

getData

public java.util.ArrayList<WorkSheetRow> getData(boolean isCachedData)
Get all data of this WorkSheet (List based Feed)

Parameters:
isCachedData - Do you want to read cached data or data from Server
Returns:

getData

public java.util.ArrayList<WorkSheetRow> getData(boolean isCachedData,
                                                 boolean doReverse,
                                                 java.lang.String sq,
                                                 java.lang.String orderBy)
List based Feed for a particular Work Sheet. Use this method if you want to retrieve data entered through Web GUI and also through Table records.

Parameters:
isCachedData - Do you want to read cached data or data from Server
doReverse - Do you need data in reverse order ?
sq - Structured Query. If you don't need this, set to null. (Make sure that column name is in lower case).
orderBy - If you don't need this, set to null. (Make sure that column name is in lower case).
Returns:

addListRow

public WorkSheetRow addListRow(java.util.HashMap<java.lang.String,java.lang.String> records)
Add List Feed row. One row at a time. TODO: need to test

Parameters:
records -

deleteListRow

public void deleteListRow(java.lang.String key,
                          WorkSheetRow r)
Delete List Row

Parameters:
r - WorkSheetRow which need to be deleted

updateListRow

public WorkSheetRow updateListRow(java.lang.String key,
                                  WorkSheetRow r,
                                  java.util.HashMap<java.lang.String,java.lang.String> records)
Update List row

Parameters:
r - WorkSheetRow to be updated
records - new records
Returns:

addRecord

public void addRecord(java.lang.String key,
                      java.util.HashMap<java.lang.String,java.lang.String> records)
Add record into WorkSheet. This WorkSheet need to have associated Table. Use SpreadSheet.addWorkSheet()
Note:
All data entered through Web Interface will be ignored.

Parameters:
key - Key of SpreadSheet
records - Record to be added ([col_name],[value])

getRecords

public java.util.ArrayList<Record> getRecords(java.lang.String key)
Get data stored in this WorkSheet

Parameters:
key - SpreadSheet Key
Returns:

getRecords

public java.util.ArrayList<Record> getRecords(java.lang.String key,
                                              java.lang.String sq)
Parameters:
key - SpreadSheet Key
sq - Structured Query
Returns:

getRecords

public java.util.ArrayList<Record> getRecords(java.lang.String key,
                                              boolean doReverse,
                                              java.lang.String sq,
                                              java.lang.String orderBy)
Get data stored in this WorkSheet. Retrieved data will be in a HashMap- ,
It supports following conditional Query-
Structured Query: you can define conditional statements like in SQL e.g. !=
Order By: Order by a given column name or position
Reverse: Record retrived in reverse order (last row 1st)

NOTE:
It will retrieve records present in the Table. Tables can't be accessed by the Web UI.
So, any data inserted by Web UI will be discarded.

Parameters:
key - SpreadSheet Key
doReverse - Display data in reverse order (last row first)
sq - Structured Query
orderBy - Order By
Returns:

getRecords

public java.util.ArrayList<Record> getRecords()
Get Cached Data (previously retrieved from server)

Returns:

updateRecord

public void updateRecord(Record record)
Record instance you want to Update Keep only those data which you want to update for this record

Parameters:
record - Record to be updated

deleteRecord

public void deleteRecord(Record record)
Delete a Record

Parameters:
record - Record to be deleted

delete

public void delete()
Delete this WorkSheet. It will also delete its associated Table. There is no separate method for deleting a Table