public class SimpleType extends BaseClass
  SimpleTypes can be created at any time, and subsequently referred to as a 
 field type in DataSources and
  DataBoundComponents.  This allows you to define
 validation, formatting
  and editing behaviors for a type to be reused across all
  DataBoundComponents.
  
  The SimpleType class also allows data to be stored in some opaque format but treated as
  simple atomic values as far as Smart GWT components are concerned by implementing
 getAtomicValue() and updateAtomicValue() methods.
  For example, if some record has a field value set to a javascript object with the
  following properties:
  
  { stringValue:"A String", length: 9 }
  
  this value could be treated as a simple string by defining a SimpleType with 
  inheritsFrom set to "text" and a custom 
  getAtomicValue() method that simply extracted the "stringValue"
  attribute from the data object. DataBoundComponents would then display
  the string value, and use it for sorting and other standard databinding features.
  
  Note that the term "simpleType" is used in the same sense as in
  XML Schema, and
 XMLTools.loadXMLSchema() will create new SimpleType definitions.
  
When using the Smart GWT Server, SimpleTypes can be defined server-side, and should be defined server-side if validators are going to be declared so that the server will enforce validation. To define server-side SimpleTypes using Component XML you should create file {typeName}.type.xml in the following format:
    <SimpleType name="{typeName}" inheritsFrom="{otherSimpleType}" 
                   editorType="{FormItemClassName}">
      <validators>
        <!-- validator definition just like DataSourceField -->
      </validators>
    </SimpleType>
  
  .. and place this file alongside your DataSource files (.ds.xml) files - in any of folders
 listed in project.datasources property in server.properties.
  
  SimpleTypes can be loaded via DataSourceLoader or loadDS JSP tags and
  should be loaded before the definitions of any DataSources that use them (so
  generally put all SimpleType definitions first).
  
Define validators in the server-side type definition, for example:
    <SimpleType name="countryCodeType" inheritsFrom="text">
      <validators>
        <validator type="lengthRange" min="2" max="2"
          errorMessage="Length of country code should be equal to 2." />
        <validator type="regexp" expression="[A-Z][A-Z]"
          errorMessage="CountryCode should have only uppercase letters." />
      </validators>
    </SimpleType>
  
  For client-side formatters, add these to the type definition after loading it from the server, for example:
      SimpleType.getType("independenceDateType").setShortDisplayFormatter(new SimpleTypeFormatter() {
        public String format(Object value, DataClass field, DataBoundComponent component, Record record) {
          if (value == null) return null;
          return "<i>" + (((java.util.Date) value).getYear() + 1900) + "</i>";
        }
      });
    
  
  Note that formatters must be added to the SimpleType definition before any
  DataBoundComponent binds to a DataSource that uses the SimpleType.
  An example is here.
| Modifier and Type | Class and Description | 
|---|---|
| static interface  | SimpleType.SimpleTypeValueComparator | 
| static class  | SimpleType.SimpleTypeValueExtractor | 
| static class  | SimpleType.SimpleTypeValueUpdater | 
config, configOnly, factoryCreated, factoryProperties, id, scClassName| Constructor and Description | 
|---|
| SimpleType()Create a new simple type. | 
| SimpleType(com.google.gwt.core.client.JavaScriptObject jsObj) | 
| SimpleType(java.lang.String name,
          FieldType inheritsFrom)Create a new simple type. | 
| SimpleType(java.lang.String name,
          SimpleType inheritsFrom)Create a new simple type. | 
| Modifier and Type | Method and Description | 
|---|---|
| static java.lang.Object | applySummaryFunction(Record[] records,
                    ListGridField field,
                    java.lang.String functionName)Apply a registered summary function to a set of records and a field. | 
| static java.lang.Object | applySummaryFunction(Record[] records,
                    ListGridField field,
                    SummaryFunctionType summaryFunction)Apply a standard  SummaryFunctionTypeto a set of records and a field. | 
| com.google.gwt.core.client.JavaScriptObject | create() | 
| java.lang.Boolean | getCanEdit()Default value for  DataSourceField.canEditfor fields of this
 type. | 
| java.lang.Boolean | getCanFilter()Default value for  DataSourceField.canFilterfor fields of
 this type. | 
| java.lang.String | getDefaultGroupingMode()In components that support grouping, the default mode from the available   groupingModesto use when grouping values of this type. | 
| OperatorId | getDefaultOperator()The default  search-operatorfor this data-type. | 
| java.lang.String | getExportFormat()FormatStringused during exports for numeric or date formatting. | 
| DataSourceField | getFieldProperties()These are properties that are essentially copied onto any DataSourceField where the property is applied. | 
| java.lang.String | getFormat()FormatStringfor numeric or date formatting. | 
| java.util.Map | getGroupingModes()A set of key-value pairs that represent the names and titles of the grouping modes  available to values of this type,
 for use in components that support grouping. | 
| java.lang.String | getGroupTitle(java.lang.Object value,
             Record record,
             java.util.Map field,
             java.lang.String fieldName,
             Canvas component)Returns a string value appropriate for the title of the group containing the passed value. | 
| java.lang.Object | getGroupValue(java.lang.Object value,
             Record record,
             java.util.Map field,
             java.lang.String fieldName,
             Canvas component)Returns a group value appropriate for the passed record, field and value, in the passed  component. | 
| java.lang.String | getInheritsFrom()Name of another SimpleType from which this type should inherit. | 
| com.google.gwt.core.client.JavaScriptObject | getJsObj() | 
| java.lang.String | getName()Name of the type, used to refer to the type from  field.type. | 
| static SimpleType | getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj) | 
| ReadOnlyDisplayAppearance | getReadOnlyDisplay()Default  readOnlyDisplayfor fields of this
 type. | 
| static java.lang.Boolean | getSkipConvertOpaqueValues()Tells the atomic values subsystem whether to convert the incoming opaque value to a Java object when calling user
 getAtomicValue() and updateAtomicValue() methods. | 
| static SimpleType | getType(java.lang.String typeName)Retrieve a simpleType definition by type name | 
| boolean | isCreated() | 
| void | register()Explicitly register this SimpleType with the system so that it can be used / referenced by remote DataSources. | 
| static void | registerSummaryFunction(java.lang.String functionName,
                       SummaryFunction summaryFunction)Registers a new SummaryFunction by name. | 
| SimpleType | setCanEdit(java.lang.Boolean canEdit)Default value for  DataSourceField.canEditfor fields of this
 type. | 
| SimpleType | setCanFilter(java.lang.Boolean canFilter)Default value for  DataSourceField.canFilterfor fields of
 this type. | 
| SimpleType | setDefaultGroupingMode(java.lang.String defaultGroupingMode)In components that support grouping, the default mode from the available   groupingModesto use when grouping values of this type. | 
| SimpleType | setDefaultOperator(OperatorId defaultOperator)The default  search-operatorfor this data-type. | 
| static void | setDefaultSummaryFunction(java.lang.String typeName,
                         java.lang.String functionName)Set a default summary function for some field type. | 
| static void | setDefaultSummaryFunction(java.lang.String typeName,
                         SummaryFunctionType summaryFunction)Set a default summary function for some field type. | 
| void | setEditFormatter(SimpleTypeFormatter formatter)Formatter for values of this type when displayed in a freeform text editor such as a
  TextItem | 
| void | setEditorProperties(FormItem editorProperties)Default  FormItemconfiguration for editing values of this type. | 
| void | setEditorType(java.lang.Class<? extends FormItem> editorType)Set the default  FormItemclass to be used whenever a value of this type is edited
 (whether in a grid, form, or other component). | 
| void | setEditorType(FormItem editorType)Deprecated. 
 Renamed to  setEditorProperties(FormItem). You can also consider usingsetEditorType(Class)orsetEditorType(String)instead. | 
| void | setEditorType(java.lang.String editorType)Set the default  FormItemclass to be used whenever a value of this type is edited
 (whether in a grid, form, or other component). | 
| void | setEditParser(SimpleTypeParser parser)Specify a parser to convert some user-edited value to an underlying data value of this type. | 
| SimpleType | setExportFormat(java.lang.String exportFormat)FormatStringused during exports for numeric or date formatting. | 
| SimpleType | setFieldProperties(DataSourceField fieldProperties)These are properties that are essentially copied onto any DataSourceField where the property is applied. | 
| void | setFilterEditorProperties(FormItem filterEditorProperties)Default  FormItemconfiguration for editing values of this type in aListGridfilter row orSearchForm. | 
| void | setFilterEditorType(java.lang.Class<? extends FormItem> filterEditorType)Set the default  FormItemclass to be used whenever a value of this type appears
 in aListGridfilter row orSearchForm. | 
| void | setFilterEditorType(java.lang.String filterEditorType)Set the default  FormItemclass to be used whenever a value of this type appears
 in aListGridfilter row orSearchForm. | 
| SimpleType | setFormat(java.lang.String format)FormatStringfor numeric or date formatting. | 
| SimpleType | setGroupingModes(java.util.Map groupingModes)A set of key-value pairs that represent the names and titles of the grouping modes  available to values of this type,
 for use in components that support grouping. | 
| void | setGroupTitleFunction(GroupTitleFunction titleFunction)Sets customizer whose 
  getTitle()method overrides the default behavior ofgetGroupTitle(). | 
| void | setGroupValueFunction(GroupValueFunction valueFunction)Sets customizer whose 
  getValue()method overrides the default behavior ofgetGroupValue(). | 
| void | setInheritsFrom(FieldType inheritsFrom)Name of another SimpleType from which this type should inherit. | 
| SimpleType | setInheritsFrom(java.lang.String inheritsFrom)Name of another SimpleType from which this type should inherit. | 
| void | setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj) | 
| SimpleType | setName(java.lang.String name)Name of the type, used to refer to the type from  field.type. | 
| void | setNormalDisplayFormatter(SimpleTypeFormatter formatter)Normal formatter for values of this type used in a  StaticTextItemorDetailViewer. | 
| SimpleType | setReadOnlyDisplay(ReadOnlyDisplayAppearance readOnlyDisplay)Default  readOnlyDisplayfor fields of this
 type. | 
| void | setReadOnlyEditorProperties(FormItem editorProperties)FormItem properties to be applied when editing values of this type in a read-only context. | 
| void | setReadOnlyEditorType(java.lang.Class<? extends FormItem> editorType)Set the default  FormItemclass to be used whenever a value of this type is edited
 in a read-only context (whether in a grid, form, or other component). | 
| void | setReadOnlyEditorType(FormItem editorType)Deprecated. 
 Renamed to  setReadOnlyEditorProperties(FormItem). You can also consider usingsetReadOnlyEditorType(Class)orsetReadOnlyEditorType(String)instead. | 
| void | setReadOnlyEditorType(java.lang.String editorType)Set the default  FormItemclass to be used whenever a value of this type is edited
 in a read-only context (whether in a grid, form, or other component). | 
| void | setShortDisplayFormatter(SimpleTypeFormatter formatter) | 
| void | setSimpleTypeValueComparator(SimpleType.SimpleTypeValueComparator comparator)Specify a custom comparator to use for this type. | 
| void | setSimpleTypeValueExtractor(SimpleType.SimpleTypeValueExtractor extractor)Specify an extractor to extract an atomic value (such as a string or number) from some arbitrary live data value. | 
| void | setSimpleTypeValueUpdater(SimpleType.SimpleTypeValueUpdater updater)Specify an updater to update a live data value with an edited atomic value (such as a string or number). | 
| static void | setSkipConvertOpaqueValues(java.lang.Boolean convert)Tells the atomic values subsystem whether to skip conversion of the incoming opaque value to a Java object when 
 calling user getAtomicValue() and updateAtomicValue() methods. | 
| SimpleType | setValidators(Validator... validators)Validators to apply to value of this type. | 
| SimpleType | setValidOperators(OperatorId... validOperators)Set of  search-operatorsvalid for thisSimpleType. | 
| void | setValueMap(java.util.Map valueMap)List of legal values for this type, like  valueMap. | 
| void | setValueMap(java.lang.String... valueMap)List of legal values for this type, like  valueMap. | 
addDynamicProperty, addDynamicProperty, addDynamicProperty, addDynamicProperty, applyFactoryProperties, asSGWTComponent, clearDynamicProperty, createJsObj, destroy, doAddHandler, doInit, error, error, errorIfNotCreated, fireEvent, getAttribute, getAttributeAsBoolean, getAttributeAsDate, getAttributeAsDouble, getAttributeAsElement, getAttributeAsFloat, getAttributeAsInt, getAttributeAsJavaScriptObject, getAttributeAsMap, getAttributeAsString, getAttributeAsStringArray, getClassName, getConfig, getHandlerCount, getID, getOrCreateJsObj, getRef, getRuleScope, getScClassName, getTestInstance, hasAutoAssignedID, hasDynamicProperty, internalSetID, internalSetID, isConfigOnly, isFactoryCreated, onBind, onInit, registerID, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setAttribute, setConfig, setConfigOnly, setFactoryCreated, setID, setProperty, setProperty, setProperty, setProperty, setRuleScope, setScClassNamepublic SimpleType(com.google.gwt.core.client.JavaScriptObject jsObj)
public SimpleType()
name - the name of the simple typeinheritsFrom - the type it inherits frompublic SimpleType(java.lang.String name,
                  FieldType inheritsFrom)
name - the name of the simple typeinheritsFrom - the type it inherits frompublic SimpleType(java.lang.String name,
                  SimpleType inheritsFrom)
name - the name of the simple typeinheritsFrom - the type it inherits frompublic static SimpleType getOrCreateRef(com.google.gwt.core.client.JavaScriptObject jsObj)
public void setJavaScriptObject(com.google.gwt.core.client.JavaScriptObject jsObj)
setJavaScriptObject in class BaseClasspublic com.google.gwt.core.client.JavaScriptObject create()
public SimpleType setCanEdit(java.lang.Boolean canEdit) throws java.lang.IllegalStateException
DataSourceField.canEdit for fields of this
 type.  This impacts client-side behavior only and is a way to simply disallow  editing of this field type by default
 within editors. 
This property is set to false for the "sequence" SimpleType by default.
canEdit - New canEdit value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getCanEdit()
DataSourceField.canEdit for fields of this
 type.  This impacts client-side behavior only and is a way to simply disallow  editing of this field type by default
 within editors. 
This property is set to false for the "sequence" SimpleType by default.
public SimpleType setCanFilter(java.lang.Boolean canFilter) throws java.lang.IllegalStateException
DataSourceField.canFilter for fields of
 this type.  This impacts client-side behavior only and may be used to explicitly enable editing in filter interfaces,
 even if editing is disabled. 
This property is set to true for the "sequence" SimpleType by default.
canFilter - New canFilter value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic java.lang.Boolean getCanFilter()
DataSourceField.canFilter for fields of
 this type.  This impacts client-side behavior only and may be used to explicitly enable editing in filter interfaces,
 even if editing is disabled. 
This property is set to true for the "sequence" SimpleType by default.
public SimpleType setDefaultGroupingMode(java.lang.String defaultGroupingMode)
groupingModes to use when grouping values of this type.defaultGroupingMode - New defaultGroupingMode value. Default value is nullSimpleType instance, for chaining setter callspublic java.lang.String getDefaultGroupingMode()
groupingModes to use when grouping values of this type.public SimpleType setDefaultOperator(OperatorId defaultOperator) throws java.lang.IllegalStateException
search-operator for this data-type.defaultOperator - New defaultOperator value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdAdvancedFilter overview and related methodspublic OperatorId getDefaultOperator()
search-operator for this data-type.AdvancedFilter overview and related methodspublic SimpleType setExportFormat(java.lang.String exportFormat) throws java.lang.IllegalStateException
FormatString used during exports for numeric or date formatting.  See DataSourceField.exportFormat.exportFormat - New exportFormat value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdFormatString, 
ExportFormatting overview and related methodspublic java.lang.String getExportFormat()
FormatString used during exports for numeric or date formatting.  See DataSourceField.exportFormat.FormatString, 
ExportFormatting overview and related methodspublic SimpleType setFieldProperties(DataSourceField fieldProperties) throws java.lang.IllegalStateException
fieldProperties - New fieldProperties value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic DataSourceField getFieldProperties()
public SimpleType setFormat(java.lang.String format) throws java.lang.IllegalStateException
FormatString for numeric or date formatting.  See DataSourceField.format.format - New format value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdFormatString, 
ExportFormatting overview and related methodspublic java.lang.String getFormat()
FormatString for numeric or date formatting.  See DataSourceField.format.FormatString, 
ExportFormatting overview and related methodspublic SimpleType setGroupingModes(java.util.Map groupingModes)
 Some types provide a set of builtin groupingModes, as covered  here. 
 Use setGroupValueFunction() and setGroupTitleFunction() to implement custom grouping logic
 for each of the grouping modes you provide.
groupingModes - New groupingModes value. Default value is nullSimpleType instance, for chaining setter callspublic java.util.Map getGroupingModes()
 Some types provide a set of builtin groupingModes, as covered  here. 
 Use setGroupValueFunction() and setGroupTitleFunction() to implement custom grouping logic
 for each of the grouping modes you provide.
grouping modes available for values  of
 this type in components that support grouping. Default value is nullpublic SimpleType setInheritsFrom(java.lang.String inheritsFrom) throws java.lang.IllegalStateException
Validators, if any, will be combined. All other SimpleType properties default to the inherited type's value.
inheritsFrom - New inheritsFrom value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdIdentifier, 
DataType Reuse Examplepublic java.lang.String getInheritsFrom()
Validators, if any, will be combined. All other SimpleType properties default to the inherited type's value.
Identifier, 
DataType Reuse Examplepublic SimpleType setName(java.lang.String name) throws java.lang.IllegalStateException
field.type.name - New name value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdIdentifierpublic java.lang.String getName()
field.type.Identifierpublic SimpleType setReadOnlyDisplay(ReadOnlyDisplayAppearance readOnlyDisplay) throws java.lang.IllegalStateException
readOnlyDisplay for fields of this
 type.  For more sophisticated management of read-only behavior, see readOnlyEditorType.
readOnlyDisplay - New readOnlyDisplay value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic ReadOnlyDisplayAppearance getReadOnlyDisplay()
readOnlyDisplay for fields of this
 type.  For more sophisticated management of read-only behavior, see readOnlyEditorType.
public SimpleType setValidators(Validator... validators) throws java.lang.IllegalStateException
validators - New validators value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdValidation overview and related methodspublic SimpleType setValidOperators(OperatorId... validOperators) throws java.lang.IllegalStateException
search-operators valid for this SimpleType.    If
 not specified, the inherited type's operators will be used,
 finally defaulting to the default operators for the basic types (eg, integer).
validOperators - New validOperators value. Default value is nullSimpleType instance, for chaining setter callsjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdAdvancedFilter overview and related methodspublic java.lang.String getGroupTitle(java.lang.Object value,
                                      Record record,
                                      java.util.Map field,
                                      java.lang.String fieldName,
                                      Canvas component)
value - the record value to return a group title forrecord - the record containing the passed group valuefield - the field relating to the value to be processedfieldName - the name of the field relating to the value to be processedcomponent - the component, usually a ListGrid, containing the                           
 passed recordpublic java.lang.Object getGroupValue(java.lang.Object value,
                                      Record record,
                                      java.util.Map field,
                                      java.lang.String fieldName,
                                      Canvas component)
value - the record value to return a group value forrecord - the record containing the passed valuefield - the field relating to the value to be processedfieldName - the name of the field relating to the value to be processedcomponent - the component, usually a ListGrid, containing the                          
 passed recordpublic static SimpleType getType(java.lang.String typeName)
typeName - the name of the simpleType to returnpublic void register()
public void setValueMap(java.lang.String... valueMap)
                 throws java.lang.IllegalStateException
valueMap.valueMap - valueMap Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setValueMap(java.util.Map valueMap)
                 throws java.lang.IllegalStateException
valueMap.valueMap - valueMap Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setEditorProperties(FormItem editorProperties) throws java.lang.IllegalStateException
FormItem configuration for editing values of this type.
 
 You can create a simple custom FormItem by adding default
 icons
  that launch custom value picking dialogs (an example is in the QuickStart Guide, Chapter 9,
 Extending Smart GWT).
 By setting simpleType.editorProperties to an instance of your custom FormItem, forms will
 automatically use the custom FormItem, as will grids performing
 grid editing.
 
 Note: When you supply a custom FormItem via setEditorProperties(), you're really providing properties which are then used to create
 multiple FormItems (e.g., in grids, forms and trees) and there's an underlying limitation here where event handlers have to be written to
 dynamically receive the actual FormItem rather than relying on "this" (because there's more than one "this").
 This means you need to follow the special rules indicated for 
 DataSourceField.setEditorProperties(FormItem). 
 As an alternative, you can use setEditorType(String) or
 setEditorType(Class) to avoid these limitations, if you register
 the FormItem subclass with the reflection mechanism.
editorProperties - FormItem with default properties to use when editingjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setEditorType(FormItem editorType) throws java.lang.IllegalStateException
setEditorProperties(FormItem). You can also consider using 
             setEditorType(Class) or setEditorType(String) instead.setEditorProperties(FormItem).editorType - FormItem with default properties to be applied when editingjava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setEditorType(java.lang.String editorType)
FormItem class to be used whenever a value of this type is edited
 (whether in a grid, form, or other component).
 If unset, a FormItem will be automatically chosen.
 Note: The editorType must be registered for use with the
 reflection mechanism. 
 By doing so, you avoid the limitations of setEditorProperties(FormItem).
editorType - the fully-qualified class name of a FormItem
                   subclass, which must have been registered with the 
                   reflection mechanism.java.lang.IllegalArgumentException - if the editorType class has not been registered for use with the 
                                  reflection mechanism,
                                  or if it does not inherit from 
                                  FormItem.public void setEditorType(java.lang.Class<? extends FormItem> editorType)
FormItem class to be used whenever a value of this type is edited
 (whether in a grid, form, or other component).
 If unset, a FormItem will be automatically chosen.
 Note: The editorType must be registered for use with the
 reflection mechanism. 
 By doing so, you avoid the limitations of setEditorProperties(FormItem).
editorType - a FormItem
                   subclass, which must have been registered with the 
                   reflection mechanism.java.lang.IllegalArgumentException - if the editorType class has not been registered for use with the 
                                  reflection mechanism,
                                  or if it does not inherit from 
                                  FormItem.public void setReadOnlyEditorProperties(FormItem editorProperties) throws java.lang.IllegalStateException
 Note: The FormItem passed to setReadOnlyEditorProperties() is used as a "template" to create a FormItem whenever
 a DataBoundComponent needs to show an interface for editing this 
 field (and the field is marked read-only). This means you need to follow special rules indicated
 for DataSourceField.setEditorProperties(FormItem). 
 As an alternative, you can use setReadOnlyEditorType(String) or
 setReadOnlyEditorType(Class) to avoid these limitations, if you register
 the FormItem subclass with the reflection mechanism.
editorProperties - FormItem with properties to be applied when editing values of this type in a read-only context.java.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setReadOnlyEditorType(FormItem editorType)
setReadOnlyEditorProperties(FormItem). You can also consider using 
             setReadOnlyEditorType(Class) or setReadOnlyEditorType(String) instead.setReadOnlyEditorProperties(FormItem).editorType - FormItem with default properties to be applied when editingpublic void setReadOnlyEditorType(java.lang.String editorType)
FormItem class to be used whenever a value of this type is edited
 in a read-only context (whether in a grid, form, or other component).
 If unset, a FormItem will be automatically chosen.
 By using the reflection mechanism, 
 this method avoids the limitations described in setReadOnlyEditorProperties(FormItem).
editorType - the fully-qualified class name of a FormItem
                   subclass, which must have been registered with the 
                   reflection mechanism.java.lang.IllegalArgumentException - if the editorType class has not been registered for use with the 
                                  reflection mechanism,
                                  or if it does not inherit from 
                                  FormItem.public void setReadOnlyEditorType(java.lang.Class<? extends FormItem> editorType)
FormItem class to be used whenever a value of this type is edited
 in a read-only context (whether in a grid, form, or other component).
 If unset, a FormItem will be automatically chosen.
 By using the reflection mechanism, 
 this method avoids the limitations described in setReadOnlyEditorProperties(FormItem).
editorType - a FormItem
                   subclass, which must have been registered with the 
                   reflection mechanism.java.lang.IllegalArgumentException - if the editorType class has not been registered for use with the 
                                  reflection mechanism,
                                  or if it does not inherit from 
                                  FormItem.public void setFilterEditorProperties(FormItem filterEditorProperties) throws java.lang.IllegalStateException
FormItem configuration for editing values of this type in a
 ListGrid filter row or 
 SearchForm.
 
 You can create a simple custom FormItem by adding default
 icons
  that launch custom value picking dialogs (an example is in the QuickStart Guide,
 Chapter 9, Extending Smart GWT).
 By setting filterEditorProperties to an instance of your custom FormItem,
 filter rows or search forms will automatically use the custom FormItem.
 
Note: 
 When you supply a custom FormItem via setFilterEditorProperties(),
 you're really providing properties which are then used to create
 multiple FormItems (e.g., in grids, forms and trees) and there's an underlying limitation
 here where event handlers have to be written to dynamically receive the actual FormItem
 rather than relying on "this" (because there's more than one "this").
 This means you need to follow the special rules indicated for 
 DataSourceField.setEditorProperties(FormItem). 
 As an alternative, you can use setFilterEditorType(String) or
 setFilterEditorType(Class) to avoid these limitations, if you register the
 FormItem subclass with the 
 reflection mechanism.
filterEditorProperties - FormItem with default properties to use when editingjava.lang.IllegalStateException - this property cannot be changed after the underlying 
 component has been createdpublic void setFilterEditorType(java.lang.String filterEditorType)
FormItem class to be used whenever a value of this type appears
 in a ListGrid filter row or 
 SearchForm.
 If unset, a FormItem will be automatically chosen.
 Note: The filterEditorType must be registered for use with the
 reflection mechanism. 
 By doing so, you avoid the limitations of setFilterEditorProperties(FormItem).
filterEditorType - the fully-qualified class name of a
     FormItem subclass, which must have 
     been registered with the reflection mechanism.java.lang.IllegalArgumentException - if the filterEditorType class has not been registered
     for use with the reflection mechanism,
     or if it does not inherit from FormItem.public void setFilterEditorType(java.lang.Class<? extends FormItem> filterEditorType)
FormItem class to be used whenever a value of this type appears
 in a ListGrid filter row or 
 SearchForm.
 If unset, a FormItem will be automatically chosen.
 Note: The filterEditorType must be registered for use with the
 reflection mechanism. 
 By doing so, you avoid the limitations of setFilterEditorProperties(FormItem).
filterEditorType - a FormItem
     subclass, which must have been registered with the 
     reflection mechanism.java.lang.IllegalArgumentException - if the filterEditorType class has not been registered
     for use with the reflection mechanism,
     or if it does not inherit from FormItem.public void setInheritsFrom(FieldType inheritsFrom) throws java.lang.IllegalStateException
Validators, if any, will be combined. All other SimpleType properties default to the inherited type's value.
inheritsFrom - inheritsFrom Default value is nulljava.lang.IllegalStateException - this property cannot be changed after the underlying component has been createdpublic void setNormalDisplayFormatter(SimpleTypeFormatter formatter)
StaticTextItem or DetailViewer.
 A formatter can make itself configurable on a per-component or per-field basis by checking properties on the component or field. For example, a formatter for account IDs may want to omit a prefix in views where it is redundant, and could check a flag detailViewer.omitAccountIdPrefix for this purpose.
formatter - the formatterpublic void setShortDisplayFormatter(SimpleTypeFormatter formatter)
ListGrid or
 TreeGrid.
 A formatter can make itself configurable on a per-component or per-field basis by checking properties on the component or field. For example, a formatter for account IDs may want to omit a prefix in views where it is redundant, and could check a flag listGridField.omitAccountIdPrefix for this purpose.
formatter - the formatterpublic void setEditFormatter(SimpleTypeFormatter formatter)
TextItem
 
 See also #parseInput for parsing an edited text value back to a data value.
formatter - the formatterpublic void setEditParser(SimpleTypeParser parser)
TextItem.
 Typically this will convert from the format produced by #editFormatter
 back to a data value.parser - the parserpublic static void setSkipConvertOpaqueValues(java.lang.Boolean convert)
convert - Whether the atomic values subsystem should skip conversion of opaque values to native Java typespublic static java.lang.Boolean getSkipConvertOpaqueValues()
public void setSimpleTypeValueExtractor(SimpleType.SimpleTypeValueExtractor extractor)
extractor - the extractorpublic void setSimpleTypeValueUpdater(SimpleType.SimpleTypeValueUpdater updater)
extractor - the updaterpublic void setSimpleTypeValueComparator(SimpleType.SimpleTypeValueComparator comparator)
If defined, this comparator's compareValues() method will be called when the framework needs to compares values of this type for equality.
comparator - the comparatorpublic com.google.gwt.core.client.JavaScriptObject getJsObj()
public static void registerSummaryFunction(java.lang.String functionName,
                                           SummaryFunction summaryFunction)
functionName - name for the SummaryFunctionsummaryFunction - new SummaryFunction implementationpublic static java.lang.Object applySummaryFunction(Record[] records, ListGridField field, SummaryFunctionType summaryFunction)
SummaryFunctionType to a set of records and a field.records - records to obtain the summary value forfield - field on which the summary function is being runsummaryFunction - standard summary function identifierpublic static java.lang.Object applySummaryFunction(Record[] records, ListGridField field, java.lang.String functionName)
records - records to obtain the summary value forfield - field on which the summary function is being runfunctionName - name under which the summary function is registered. See registerSummaryFunction(String, SummaryFunction)public static void setDefaultSummaryFunction(java.lang.String typeName,
                                             SummaryFunctionType summaryFunction)
typeName - name of the field type. If this is the name of a custom SimpleType, the developer may need
 to ensure the type is registered.summaryFunction - standard summary function type for this data typepublic static void setDefaultSummaryFunction(java.lang.String typeName,
                                             java.lang.String functionName)
typeName - name of the field type. If this is the name of a custom SimpleType, the developer may need
 to ensure the type is registered.summaryFunction - name under which the summary function is registered. See registerSummaryFunction(String, SummaryFunction)public void setGroupTitleFunction(GroupTitleFunction titleFunction)
getTitle()
 method overrides the default behavior of 
 getGroupTitle().
 Pass null to clear the override.public void setGroupValueFunction(GroupValueFunction valueFunction)
getValue()
 method overrides the default behavior of 
 getGroupValue().
 Pass null to clear the override.