com.smartgwt.client.data
Class Record
java.lang.Object
com.smartgwt.client.core.JsObject
com.smartgwt.client.core.DataClass
com.smartgwt.client.core.RefDataClass
com.smartgwt.client.data.Record
- Direct Known Subclasses:
- CalendarEvent, DetailViewerRecord, ListGridRecord
public class Record
- extends RefDataClass
A Record contains attributes that are displayed and edited by a DataBoundComponent.
DataBoundComponents have a concept of named fields, where values for each field are found
under the same-named attribute in a Record.
The concept of working with Records is common to all DataBoundComponents, although individual
DataBoundComponents may work with singular records (DynamicForm) or may work with lists
(ListGrid), trees (TreeGrid), or cubes
(CubeGrid) of records.
A Record is always the same type of Java object regardless of how the record is loaded (static
data, java server, XML web service, etc). However, individual DataBoundComponents may also
look for special attributes on Records which control styling or behavior. For convenience,
there are subclasses of Record with type-safe setters for such attributes (such as ListGrid.setRecordEditProperty(String)). In reality, all
such subclasses are wrappers over the same underlying data object, and you can convert to
whichever wrapper is most convenient via:
new ListGridRecord(recordInstance.getJsObj());
You can also create your own subclass of Record with type-specific getters and setters,
however, if you do so, you should store values via setAttribute() and retrieve them via
getAttribute() rather than keeping values as normal Java properties. Only attributes will
be visible to DataBoundComponents, ordinary Java properties will not.
Note that directly changing an attribute of a Record via setAttribute() will not notify any
DataBoundComponents that the Record has changed or cause any kind of persistence operation
to occur. Instead, use component-specific methods such as DynamicForm.setValue() or
ListGrid.setEditValue() to explicitly tell the components about a change that should be
saved.
| Fields inherited from class com.smartgwt.client.core.JsObject |
jsObj |
| Methods inherited from class com.smartgwt.client.core.DataClass |
doAddHandler, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsDoubleArray, getAttributeAsFloat, getAttributeAsInt, getAttributeAsIntArray, getAttributeAsJavaScriptObject, getAttributeAsLong, getAttributeAsMap, getAttributeAsObject, getAttributeAsRecord, getAttributeAsString, getAttributeAsStringArray, getAttributes, getHandlerCount, getJsObj, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Record
public Record()
Record
public Record(JavaScriptObject jsObj)
Record
public Record(Map recordProperties)
getOrCreateRef
public static Record getOrCreateRef(JavaScriptObject jsObj)
getAttributeAsRecordArray
public Record[] getAttributeAsRecordArray(String property)
- Returns the nested structure as Record array.
- Parameters:
property - the record property
- Returns:
- array of records
getAttributeAsRecordList
public RecordList getAttributeAsRecordList(String property)
- Returns the nested structure as a RecordList.
- Parameters:
property - the record property
- Returns:
- the RecordList
convertToRecordArray
public static Record[] convertToRecordArray(JavaScriptObject nativeArray)
toMap
public Map toMap()
- Convert this record to a Map. This is a recursive conversion so if an attribute on this record is set to
another Record instance it will also be converted to a Map.
- Returns: