public class DataSource extends java.lang.Object implements com.smartgwt.mobile.client.internal.data.events.HasDSDataChangedHandlers, HasHandleErrorHandlers
| Modifier and Type | Field and Description |
|---|---|
static boolean |
_deepCloneOnEdit |
static int |
_numDSRequestsSent |
static boolean |
_serializeTimeAsDatetime |
static com.google.gwt.i18n.client.TimeZone |
_UTC |
| Constructor and Description |
|---|
DataSource() |
DataSource(java.lang.String ID) |
| Modifier and Type | Method and Description |
|---|---|
com.google.gwt.event.shared.HandlerRegistration |
_addDSDataChangedHandler(com.smartgwt.mobile.client.internal.data.events.DSDataChangedHandler handler) |
protected com.google.gwt.event.shared.HandlerManager |
_createHandlerManager() |
protected com.google.gwt.event.shared.HandlerManager |
_ensureHandlers() |
java.lang.String |
_getDataTagName() |
java.lang.Boolean |
_getDeepCloneOnEdit() |
java.util.Map<java.lang.String,DataSourceField> |
_getMergedFields() |
java.lang.String |
_getRecordName() |
static OperationBinding |
_makeDefaultOperation(DataSource dataSource,
DSOperationType operationType,
java.lang.String operationId) |
java.lang.Object |
_prepareData(java.lang.Object data) |
static void |
_register(java.lang.String ID,
DataSource ds) |
protected void |
_sendGWTRequest(DSRequest dsRequest) |
void |
_setDeepCloneOnEdit(java.lang.Boolean deepCloneOnEdit) |
void |
addData(Record record) |
void |
addData(Record record,
DSCallback callback) |
void |
addData(Record record,
DSCallback callback,
DSRequest props) |
void |
addField(DataSourceField field) |
com.google.gwt.event.shared.HandlerRegistration |
addHandleErrorHandler(HandleErrorHandler handler) |
protected int |
compareCriteria(Criteria newCriteria,
Criteria oldCriteria) |
protected static com.google.gwt.xml.client.Element |
extractDataElement(com.google.gwt.xml.client.Element rootEl,
java.lang.String dataTagName) |
protected static java.util.List<com.google.gwt.xml.client.Element> |
extractRecordElements(com.google.gwt.xml.client.Element dataEl,
java.lang.String recordName) |
protected RecordList |
extractRecordList(com.google.gwt.json.client.JSONArray dataArr) |
protected RecordList |
extractRecordList(java.util.List<? extends com.google.gwt.xml.client.Node> recordNodes) |
void |
fetchData() |
void |
fetchData(Criteria criteria) |
void |
fetchData(Criteria criteria,
DSCallback callback) |
void |
fetchData(Criteria criteria,
DSCallback callback,
DSRequest props) |
void |
fireEvent(com.google.gwt.event.shared.GwtEvent<?> event) |
protected static DataSource |
fromConfig(com.google.gwt.core.client.JavaScriptObject configObj) |
static DataSource |
fromJSON(java.lang.String jsonText)
Parses a JSON string containing one or more
DataSource definitions. |
java.lang.String |
getAddDataURL() |
java.lang.Boolean |
getAutoDeriveSchema() |
java.lang.String |
getCallbackParam() |
java.lang.String |
getCriteriaPolicy() |
java.lang.String |
getCustomDataURL() |
java.lang.String |
getDataField() |
DSProtocol |
getDataProtocol() |
static DataSource |
getDataSource(java.lang.String ID) |
java.lang.String |
getDataTagName() |
java.lang.String |
getDataURL() |
static java.lang.String |
getDefaultDataURL() |
java.lang.String |
getDescriptionField() |
java.lang.Boolean |
getDropExtraFields() |
java.lang.String |
getFetchDataURL() |
DataSourceField |
getField(java.lang.String fieldName)
Return the field definition object.
|
java.lang.String[] |
getFieldNames() |
java.lang.String[] |
getFieldNames(boolean excludeHidden) |
DataSourceField[] |
getFields() |
java.lang.String |
getIconField() |
java.lang.String |
getID() |
java.lang.String |
getInfoField() |
java.lang.String |
getInheritsFrom() |
java.lang.String |
getJsonPrefix() |
java.lang.String |
getJsonSuffix() |
static java.lang.String |
getLoaderUrl() |
java.lang.String |
getMetaDataPrefix()
If
sendMetaData is true and
OperationBinding.dataProtocol is
DSProtocol.GETPARAMS or
DSProtocol.POSTPARAMS, then this is the
prefix that is added to meta data property names. |
protected OperationBinding |
getOperationBinding(DSOperationType operationType,
java.lang.String operationId) |
protected OperationBinding |
getOperationBinding(DSRequest dsRequest) |
protected OperationBinding[] |
getOperationBindings() |
java.lang.String |
getPluralTitle() |
java.lang.Boolean |
getPreventHTTPCaching() |
DataSourceField |
getPrimaryKeyField()
Returns a pointer to the primaryKey field for this DataSource
|
java.lang.String |
getPrimaryKeyFieldName()
Returns the primary key fieldName for this DataSource
|
java.lang.Boolean |
getQualifyColumnNames() |
java.lang.String |
getRecordName() |
java.lang.String |
getRemoveDataURL() |
java.util.Map<java.lang.String,java.lang.Object> |
getRequestProperties() |
java.lang.String |
getRequiredMessage() |
java.lang.Boolean |
getSendExtraFields() |
boolean |
getSendMetaData()
If
true, meta data will be included in the parameters sent to the server,
with each meta data parameter prefixed with metaDataPrefix. |
java.lang.String |
getServerConstructor() |
java.lang.Boolean |
getShowLocalFieldsOnly() |
java.lang.Boolean |
getShowPrompt() |
java.lang.Boolean |
getStrictJSON()
Controls whether this
DataSource will strictly conform to the
JSON data format when serializing JSON. |
java.lang.Boolean |
getStrictSQLFiltering() |
java.lang.String |
getTitle() |
java.lang.String |
getTitleField() |
java.lang.String |
getUpdateDataURL() |
Record[] |
getUpdatedData(DSRequest dsRequest,
DSResponse dsResponse) |
Record[] |
getUpdatedData(DSRequest dsRequest,
DSResponse dsResponse,
boolean useDataFromRequest) |
java.lang.Boolean |
getUseFlatFields() |
java.lang.Boolean |
getUseParentFieldOrder() |
java.lang.String |
getValidateDataURL() |
java.lang.Boolean |
getValidateRelatedRecords() |
void |
hidePrompt(com.google.gwt.user.client.ui.PopupPanel prompt) |
static boolean |
isUpdateOperation(DSOperationType opType) |
static void |
load(java.lang.String ID,
LoadDSCallback callback) |
static void |
loadDataSource(java.lang.String ID,
LoadDSCallback callback) |
static void |
loadWithParents(java.lang.String ID,
LoadDSCallback callback) |
void |
performCustomOperation(java.lang.String operationId,
Record data,
DSCallback callback,
DSRequest props) |
boolean |
propertyMatches(java.lang.Object property,
java.lang.Object criterion,
TextMatchStyle style) |
boolean |
recordMatchesCriteria(Record record,
Criteria criteria,
TextMatchStyle style) |
void |
removeData(Record record) |
void |
removeData(Record record,
DSCallback callback) |
void |
removeData(Record record,
DSCallback callback,
DSRequest props) |
void |
sendRequest(DSRequest dsRequest) |
void |
setAddDataURL(java.lang.String dataURL) |
void |
setAutoDeriveSchema(java.lang.Boolean autoDeriveSchema) |
void |
setCallbackParam(java.lang.String callbackParam) |
void |
setCriteriaPolicy(java.lang.String criteriaPolicy) |
void |
setCustomDataURL(java.lang.String dataURL) |
void |
setDataField(java.lang.String dataField) |
void |
setDataProtocol(DSProtocol dataProtocol) |
void |
setDataTagName(java.lang.String dataTagName) |
void |
setDataURL(java.lang.String dataURL) |
static void |
setDefaultDataURL(java.lang.String value) |
void |
setDescriptionField(java.lang.String descriptionField) |
void |
setDropExtraFields(java.lang.Boolean dropExtraFields) |
void |
setFetchDataURL(java.lang.String dataURL) |
void |
setFields(DataSourceField... fieldDefs) |
void |
setIconField(java.lang.String iconField) |
void |
setID(java.lang.String id) |
void |
setInfoField(java.lang.String infoField) |
void |
setInheritsFrom(DataSource parentDataSource) |
void |
setInheritsFrom(java.lang.String parentDataSourceID) |
void |
setJsonPrefix(java.lang.String jsonPrefix) |
void |
setJsonSuffix(java.lang.String jsonSuffix) |
static void |
setLoaderUrl(java.lang.String loaderUrl) |
void |
setMetaDataPrefix(java.lang.String metaDataPrefix)
Setter for
metaDataPrefix. |
void |
setOperationBindings(OperationBinding... operationBindings) |
void |
setPluralTitle(java.lang.String pluralTitle) |
void |
setPreventHTTPCaching(java.lang.Boolean preventHTTPCaching) |
void |
setQualifyColumnNames(java.lang.Boolean qualifyColumnNames) |
void |
setRecordName(java.lang.String recordName) |
void |
setRemoveDataURL(java.lang.String dataURL) |
void |
setRequestProperties(DSRequest requestProperties) |
void |
setRequestProperties(java.util.Map<java.lang.String,java.lang.Object> requestProperties) |
void |
setRequiredMessage(java.lang.String requiredMessage) |
void |
setSendExtraFields(java.lang.Boolean sendExtraFields) |
void |
setSendMetaData(java.lang.Boolean sendMetaData)
Setter for
sendMetaData. |
void |
setServerConstructor(java.lang.String serverConstructor) |
void |
setShowLocalFieldsOnly(java.lang.Boolean showLocalFieldsOnly) |
void |
setShowPrompt(java.lang.Boolean showPrompt) |
void |
setStrictJSON(java.lang.Boolean strictJSON) |
void |
setStrictSQLFiltering(java.lang.Boolean strictSQLFiltering) |
void |
setTitle(java.lang.String title) |
void |
setTitleField(java.lang.String titleField) |
void |
setUpdateDataURL(java.lang.String dataURL) |
void |
setUseFlatFields(java.lang.Boolean useFlatFields) |
void |
setUseParentFieldOrder(java.lang.Boolean useParentFieldOrder) |
void |
setValidateDataURL(java.lang.String dataURL) |
void |
setValidateRelatedRecords(java.lang.Boolean validateRelatedRecords) |
com.google.gwt.user.client.ui.PopupPanel |
showPrompt() |
protected java.lang.Object |
transformRequest(DSRequest dsRequest)
Transforms
DSRequest metadata into a format understood by the server. |
protected void |
transformResponse(DSResponse response,
DSRequest request,
java.lang.Object data)
Transforms service-specific metadata to
DSResponse metadata. |
void |
updateCaches(DSResponse dsResponse) |
void |
updateCaches(DSResponse dsResponse,
DSRequest dsRequest) |
void |
updateData(Record record) |
void |
updateData(Record record,
DSCallback callback) |
void |
updateData(Record record,
DSCallback callback,
DSRequest props) |
void |
validateData(Record data,
DSCallback callback) |
@SGWTInternal public static boolean _deepCloneOnEdit
@SGWTInternal public static int _numDSRequestsSent
@SGWTInternal public static boolean _serializeTimeAsDatetime
@SGWTInternal public static final com.google.gwt.i18n.client.TimeZone _UTC
@SGWTInternal public static OperationBinding _makeDefaultOperation(DataSource dataSource, DSOperationType operationType, java.lang.String operationId)
public void setID(java.lang.String id)
public final java.lang.String getID()
public void setAutoDeriveSchema(java.lang.Boolean autoDeriveSchema)
public java.lang.Boolean getAutoDeriveSchema()
public void setCallbackParam(java.lang.String callbackParam)
public java.lang.String getCallbackParam()
public void setCriteriaPolicy(java.lang.String criteriaPolicy)
public java.lang.String getCriteriaPolicy()
public final DSProtocol getDataProtocol()
public void setDataProtocol(DSProtocol dataProtocol)
public void setDataURL(java.lang.String dataURL)
public final java.lang.String getDataURL()
@SGWTInternal public final java.lang.Boolean _getDeepCloneOnEdit()
@SGWTInternal public void _setDeepCloneOnEdit(java.lang.Boolean deepCloneOnEdit)
public void setFetchDataURL(java.lang.String dataURL)
public java.lang.String getFetchDataURL()
public void setAddDataURL(java.lang.String dataURL)
public java.lang.String getAddDataURL()
public void setUpdateDataURL(java.lang.String dataURL)
public java.lang.String getUpdateDataURL()
public void setRemoveDataURL(java.lang.String dataURL)
public java.lang.String getRemoveDataURL()
public java.lang.String getValidateDataURL()
public void setValidateDataURL(java.lang.String dataURL)
public java.lang.String getCustomDataURL()
public void setCustomDataURL(java.lang.String dataURL)
public final java.lang.String getDataTagName()
@SGWTInternal public final java.lang.String _getDataTagName()
public void setDataTagName(java.lang.String dataTagName)
public void setDropExtraFields(java.lang.Boolean dropExtraFields)
public java.lang.Boolean getDropExtraFields()
public void setIconField(java.lang.String iconField)
public java.lang.String getIconField()
public void setDataField(java.lang.String dataField)
public java.lang.String getDataField()
public void setJsonPrefix(java.lang.String jsonPrefix)
public final java.lang.String getJsonPrefix()
public void setJsonSuffix(java.lang.String jsonSuffix)
public final java.lang.String getJsonSuffix()
public void setPluralTitle(java.lang.String pluralTitle)
public java.lang.String getPluralTitle()
public void setPreventHTTPCaching(java.lang.Boolean preventHTTPCaching)
public java.lang.Boolean getPreventHTTPCaching()
public void setQualifyColumnNames(java.lang.Boolean qualifyColumnNames)
public java.lang.Boolean getQualifyColumnNames()
public final java.lang.String getRecordName()
@SGWTInternal public final java.lang.String _getRecordName()
public void setRecordName(java.lang.String recordName)
public void setRequiredMessage(java.lang.String requiredMessage)
public java.lang.String getRequiredMessage()
public void setSendExtraFields(java.lang.Boolean sendExtraFields)
public java.lang.Boolean getSendExtraFields()
public void setServerConstructor(java.lang.String serverConstructor)
public java.lang.String getServerConstructor()
public void setShowLocalFieldsOnly(java.lang.Boolean showLocalFieldsOnly)
public java.lang.Boolean getShowLocalFieldsOnly()
public void setShowPrompt(java.lang.Boolean showPrompt)
public java.lang.Boolean getShowPrompt()
public void setStrictSQLFiltering(java.lang.Boolean strictSQLFiltering)
public java.lang.Boolean getStrictSQLFiltering()
public void setTitle(java.lang.String title)
public java.lang.String getTitle()
public void setTitleField(java.lang.String titleField)
public java.lang.String getTitleField()
public void setInfoField(java.lang.String infoField)
public java.lang.String getInfoField()
public void setDescriptionField(java.lang.String descriptionField)
public java.lang.String getDescriptionField()
public void setInheritsFrom(DataSource parentDataSource)
public void setInheritsFrom(java.lang.String parentDataSourceID)
public java.lang.String getInheritsFrom()
public void setUseFlatFields(java.lang.Boolean useFlatFields)
public java.lang.Boolean getUseFlatFields()
public void setUseParentFieldOrder(java.lang.Boolean useParentFieldOrder)
public java.lang.Boolean getUseParentFieldOrder()
public void setValidateRelatedRecords(java.lang.Boolean validateRelatedRecords)
public java.lang.Boolean getValidateRelatedRecords()
public void setRequestProperties(java.util.Map<java.lang.String,java.lang.Object> requestProperties)
public java.util.Map<java.lang.String,java.lang.Object> getRequestProperties()
public final java.lang.Boolean getStrictJSON()
DataSource will strictly conform to the
JSON data format when serializing JSON.
If this attribute is not true, then JSON data generated for data source
requests will be in a more relaxed JSON format in the sense that only '\b',
'\t', '\n', '\f', '\r', '"',
and '\\' are escaped within string literals. If this attribute is true,
then all Unicode control characters (those having the Cc character property), '"',
and '\\' are escaped.
The effect of this attribute is not the same as Smart GWT's DataSource.useStrictJSON. SGWT DataSource.useStrictJSON controls the server's conformance to the JSON format whereas SGWT.mobile DataSource.strictJSON controls the client's conformance. SGWT.mobile always requires strict JSON from the server, and will send useStrictJSON=true with requests.
falsepublic void setStrictJSON(java.lang.Boolean strictJSON)
@SGWTInternal public java.util.Map<java.lang.String,DataSourceField> _getMergedFields()
public DataSourceField getField(java.lang.String fieldName)
fieldName - Name of the field to retrievepublic DataSourceField getPrimaryKeyField()
public java.lang.String getPrimaryKeyFieldName()
public void performCustomOperation(java.lang.String operationId,
Record data,
DSCallback callback,
DSRequest props)
public void validateData(Record data, DSCallback callback)
public void fetchData()
public void fetchData(Criteria criteria)
public void fetchData(Criteria criteria, DSCallback callback)
public void fetchData(Criteria criteria, DSCallback callback, DSRequest props)
public void addData(Record record, DSCallback callback, DSRequest props)
public void addData(Record record, DSCallback callback)
public void addData(Record record)
public void updateData(Record record, DSCallback callback, DSRequest props)
public void updateData(Record record, DSCallback callback)
public void updateData(Record record)
public void removeData(Record record, DSCallback callback, DSRequest props)
public void removeData(Record record, DSCallback callback)
public void removeData(Record record)
public void sendRequest(DSRequest dsRequest)
protected static com.google.gwt.xml.client.Element extractDataElement(com.google.gwt.xml.client.Element rootEl,
java.lang.String dataTagName)
protected static java.util.List<com.google.gwt.xml.client.Element> extractRecordElements(com.google.gwt.xml.client.Element dataEl,
java.lang.String recordName)
protected RecordList extractRecordList(java.util.List<? extends com.google.gwt.xml.client.Node> recordNodes)
protected RecordList extractRecordList(com.google.gwt.json.client.JSONArray dataArr)
@SGWTInternal protected void _sendGWTRequest(DSRequest dsRequest)
public com.google.gwt.user.client.ui.PopupPanel showPrompt()
public void hidePrompt(com.google.gwt.user.client.ui.PopupPanel prompt)
public void updateCaches(DSResponse dsResponse)
public void updateCaches(DSResponse dsResponse, DSRequest dsRequest)
public void setOperationBindings(OperationBinding... operationBindings)
protected OperationBinding[] getOperationBindings()
protected OperationBinding getOperationBinding(DSRequest dsRequest)
protected OperationBinding getOperationBinding(DSOperationType operationType, java.lang.String operationId)
public boolean getSendMetaData()
true, meta data will be included in the parameters sent to the server,
with each meta data parameter prefixed with metaDataPrefix.
Applies only when OperationBinding.dataProtocol is
DSProtocol.GETPARAMS or
DSProtocol.POSTPARAMS.true.public void setSendMetaData(java.lang.Boolean sendMetaData)
sendMetaData.public java.lang.String getMetaDataPrefix()
sendMetaData is true and
OperationBinding.dataProtocol is
DSProtocol.GETPARAMS or
DSProtocol.POSTPARAMS, then this is the
prefix that is added to meta data property names.public void setMetaDataPrefix(java.lang.String metaDataPrefix)
metaDataPrefix.protected java.lang.Object transformRequest(DSRequest dsRequest)
DSRequest metadata into a format understood by the server.
The following table lists the return type expected by DataSource:
OperationBinding.dataFormat |
OperationBinding.dataProtocol |
Expected return type |
|---|---|---|
ISCSERVER |
N/A | Object, suitable for serialization |
XML, JSON, CUSTOM |
GETPARAMS, POSTPARAMS |
Map<String, Object> |
POSTMESSAGE |
String |
|
POSTXML |
String or Document |
An implementation may augment dsRequest with additional DSRequest
metadata such as by adding to DSRequest.params.
dsRequest - (in/out) the DSRequest to transform.@SGWTInternal public java.lang.Object _prepareData(java.lang.Object data)
public Record[] getUpdatedData(DSRequest dsRequest, DSResponse dsResponse)
public Record[] getUpdatedData(DSRequest dsRequest, DSResponse dsResponse, boolean useDataFromRequest)
protected void transformResponse(DSResponse response, DSRequest request, java.lang.Object data)
DSResponse metadata.
The following table lists the type of data:
OperationBinding.dataFormat |
Type of data |
|---|---|
ISCSERVER, JSON |
Map<String, Object>, as returned by JSONUtils.serverResponseToMap(String). |
XML |
Element, representing the root element, or "document element" of the response document. |
CUSTOM |
String, the contents of the HTTP response body |
NOTE: data may be null if the request was not
successful. For example, if dataFormat is XML, but the server
response was HTTP 403 Forbidden, then there usually is no response body to parse into
a Document.
response - (in/out) the DSResponse to transform.request - (in) the DSRequest resulting in a data source response.data - (in) data from the server.public void setRequestProperties(DSRequest requestProperties) throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void setFields(DataSourceField... fieldDefs) throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic void addField(DataSourceField field) throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic DataSourceField[] getFields()
public java.lang.String[] getFieldNames()
public java.lang.String[] getFieldNames(boolean excludeHidden)
public boolean recordMatchesCriteria(Record record, Criteria criteria, TextMatchStyle style)
public boolean propertyMatches(java.lang.Object property,
java.lang.Object criterion,
TextMatchStyle style)
@SGWTInternal protected com.google.gwt.event.shared.HandlerManager _createHandlerManager()
@SGWTInternal protected final com.google.gwt.event.shared.HandlerManager _ensureHandlers()
public com.google.gwt.event.shared.HandlerRegistration _addDSDataChangedHandler(com.smartgwt.mobile.client.internal.data.events.DSDataChangedHandler handler)
_addDSDataChangedHandler in interface com.smartgwt.mobile.client.internal.data.events.HasDSDataChangedHandlerspublic final void fireEvent(com.google.gwt.event.shared.GwtEvent<?> event)
fireEvent in interface com.google.gwt.event.shared.HasHandlers@SGWTInternal
public static void _register(java.lang.String ID,
DataSource ds)
public static DataSource getDataSource(java.lang.String ID)
public static void load(java.lang.String ID,
LoadDSCallback callback)
public static void loadWithParents(java.lang.String ID,
LoadDSCallback callback)
public static void loadDataSource(java.lang.String ID,
LoadDSCallback callback)
public static DataSource fromJSON(java.lang.String jsonText)
DataSource definitions. This method returns the first
DataSource that is defined in the JSON. The remaining DataSources will be
accessible via getDataSource().
fromJSON() requires that the input JSON be in the same form as the JSON returned by the
DataSourceLoader servlet. This method is an alternative to load(),
loadDataSource(), or loadWithParents()
because it allows the loading of DataSources from a cached copy of DataSourceLoader
output.
jsonText - a JSON stringDataSource defined in the JSON, or null if no DataSource
is defined.protected static DataSource fromConfig(com.google.gwt.core.client.JavaScriptObject configObj)
public static void setDefaultDataURL(java.lang.String value)
public static java.lang.String getDefaultDataURL()
public static void setLoaderUrl(java.lang.String loaderUrl)
public static java.lang.String getLoaderUrl()
public static boolean isUpdateOperation(DSOperationType opType)
public com.google.gwt.event.shared.HandlerRegistration addHandleErrorHandler(HandleErrorHandler handler)
addHandleErrorHandler in interface HasHandleErrorHandlers