ActionScript® 3.0 Reference for the Adobe® Flash® Platform
Home  |  Hide Packages and Classes List |  Packages  |  Classes  |  What's New  |  Index  |  Appendixes

Language Reference only
Filters: AIR 32.0 and earlier, Flash Player 32.0 and earlier, Flash Lite 4
Flex 4.6 and earlier, Flash Pro CS6 and earlier
Hide Filters
flash.globalization 

Collator  - AS3

Packagesx

Top Level
adobe.utils
air.desktop
air.net
air.update
air.update.events
coldfusion.air
coldfusion.air.errors
coldfusion.air.events
coldfusion.service
coldfusion.service.events
coldfusion.service.mxml
com.adobe.acm.solutions.authoring.domain.extensions
com.adobe.acm.solutions.ccr.domain.extensions
com.adobe.consulting.pst.vo
com.adobe.dct.component
com.adobe.dct.component.datadictionary
com.adobe.dct.component.datadictionaryElement
com.adobe.dct.component.dataElementsPanel
com.adobe.dct.component.toolbars
com.adobe.dct.event
com.adobe.dct.exp
com.adobe.dct.model
com.adobe.dct.service
com.adobe.dct.service.provider
com.adobe.dct.transfer
com.adobe.dct.util
com.adobe.dct.view
com.adobe.ep.taskmanagement.domain
com.adobe.ep.taskmanagement.event
com.adobe.ep.taskmanagement.filter
com.adobe.ep.taskmanagement.services
com.adobe.ep.taskmanagement.util
com.adobe.ep.ux.attachmentlist.component
com.adobe.ep.ux.attachmentlist.domain
com.adobe.ep.ux.attachmentlist.domain.events
com.adobe.ep.ux.attachmentlist.domain.renderers
com.adobe.ep.ux.attachmentlist.skin
com.adobe.ep.ux.attachmentlist.skin.renderers
com.adobe.ep.ux.content.event
com.adobe.ep.ux.content.factory
com.adobe.ep.ux.content.handlers
com.adobe.ep.ux.content.managers
com.adobe.ep.ux.content.model.asset
com.adobe.ep.ux.content.model.preview
com.adobe.ep.ux.content.model.relation
com.adobe.ep.ux.content.model.search
com.adobe.ep.ux.content.model.toolbar
com.adobe.ep.ux.content.search
com.adobe.ep.ux.content.services
com.adobe.ep.ux.content.services.load
com.adobe.ep.ux.content.services.permissions
com.adobe.ep.ux.content.services.preview
com.adobe.ep.ux.content.services.providers
com.adobe.ep.ux.content.services.query
com.adobe.ep.ux.content.services.relationships
com.adobe.ep.ux.content.services.search.lccontent
com.adobe.ep.ux.content.services.version
com.adobe.ep.ux.content.view
com.adobe.ep.ux.content.view.components.activate
com.adobe.ep.ux.content.view.components.grid
com.adobe.ep.ux.content.view.components.grid.hover
com.adobe.ep.ux.content.view.components.grid.hover.component
com.adobe.ep.ux.content.view.components.grid.renderers
com.adobe.ep.ux.content.view.components.relationships
com.adobe.ep.ux.content.view.components.review
com.adobe.ep.ux.content.view.components.search.renderers
com.adobe.ep.ux.content.view.components.searchpod
com.adobe.ep.ux.content.view.components.toolbar
com.adobe.ep.ux.content.view.components.toolbar.controlRenderers
com.adobe.ep.ux.content.view.components.version
com.adobe.ep.ux.documentsubmit.component
com.adobe.ep.ux.documentsubmit.domain
com.adobe.ep.ux.documentsubmit.skin
com.adobe.ep.ux.taskaction.component
com.adobe.ep.ux.taskaction.domain
com.adobe.ep.ux.taskaction.domain.events
com.adobe.ep.ux.taskaction.skin
com.adobe.ep.ux.taskdetails.component
com.adobe.ep.ux.taskdetails.domain
com.adobe.ep.ux.taskdetails.skin
com.adobe.ep.ux.tasklist.component
com.adobe.ep.ux.tasklist.domain
com.adobe.ep.ux.tasklist.skin
com.adobe.ep.ux.webdocumentviewer.domain
com.adobe.exm.expression
com.adobe.exm.expression.error
com.adobe.exm.expression.event
com.adobe.exm.expression.impl
com.adobe.fiber.runtime.lib
com.adobe.fiber.services
com.adobe.fiber.services.wrapper
com.adobe.fiber.styles
com.adobe.fiber.util
com.adobe.fiber.valueobjects
com.adobe.gravity.binding
com.adobe.gravity.context
com.adobe.gravity.flex.bundleloader
com.adobe.gravity.flex.progress
com.adobe.gravity.flex.serviceloader
com.adobe.gravity.framework
com.adobe.gravity.init
com.adobe.gravity.service.bundleloader
com.adobe.gravity.service.logging
com.adobe.gravity.service.manifest
com.adobe.gravity.service.progress
com.adobe.gravity.tracker
com.adobe.gravity.ui
com.adobe.gravity.utility
com.adobe.gravity.utility.async
com.adobe.gravity.utility.error
com.adobe.gravity.utility.events
com.adobe.gravity.utility.factory
com.adobe.gravity.utility.flex.async
com.adobe.gravity.utility.logging
com.adobe.gravity.utility.message
com.adobe.gravity.utility.sequence
com.adobe.gravity.utility.url
com.adobe.guides.control
com.adobe.guides.domain
com.adobe.guides.i18n
com.adobe.guides.spark.components.skins
com.adobe.guides.spark.components.skins.mx
com.adobe.guides.spark.headers.components
com.adobe.guides.spark.headers.skins
com.adobe.guides.spark.layouts.components
com.adobe.guides.spark.layouts.skins
com.adobe.guides.spark.navigators.components
com.adobe.guides.spark.navigators.renderers
com.adobe.guides.spark.navigators.skins
com.adobe.guides.spark.util
com.adobe.guides.spark.wrappers.components
com.adobe.guides.spark.wrappers.skins
com.adobe.guides.submit
com.adobe.icc.dc.domain
com.adobe.icc.dc.domain.factory
com.adobe.icc.editors.events
com.adobe.icc.editors.handlers
com.adobe.icc.editors.managers
com.adobe.icc.editors.model
com.adobe.icc.editors.model.config
com.adobe.icc.editors.model.el
com.adobe.icc.editors.model.el.operands
com.adobe.icc.editors.model.el.operators
com.adobe.icc.enum
com.adobe.icc.external.dc
com.adobe.icc.obj
com.adobe.icc.services
com.adobe.icc.services.category
com.adobe.icc.services.config
com.adobe.icc.services.download
com.adobe.icc.services.export
com.adobe.icc.services.external
com.adobe.icc.services.formbridge
com.adobe.icc.services.fragmentlayout
com.adobe.icc.services.layout
com.adobe.icc.services.letter
com.adobe.icc.services.locator
com.adobe.icc.services.module
com.adobe.icc.services.render
com.adobe.icc.services.submit
com.adobe.icc.services.user
com.adobe.icc.token
com.adobe.icc.vo
com.adobe.icc.vo.render
com.adobe.icomm.assetplacement.controller
com.adobe.icomm.assetplacement.controller.utils
com.adobe.icomm.assetplacement.data
com.adobe.icomm.assetplacement.model
com.adobe.livecycle.assetmanager.client
com.adobe.livecycle.assetmanager.client.event
com.adobe.livecycle.assetmanager.client.handler
com.adobe.livecycle.assetmanager.client.managers
com.adobe.livecycle.assetmanager.client.model
com.adobe.livecycle.assetmanager.client.model.cms
com.adobe.livecycle.assetmanager.client.service
com.adobe.livecycle.assetmanager.client.service.search
com.adobe.livecycle.assetmanager.client.service.search.cms
com.adobe.livecycle.assetmanager.client.utils
com.adobe.livecycle.content
com.adobe.livecycle.rca.model
com.adobe.livecycle.rca.model.constant
com.adobe.livecycle.rca.model.document
com.adobe.livecycle.rca.model.participant
com.adobe.livecycle.rca.model.reminder
com.adobe.livecycle.rca.model.stage
com.adobe.livecycle.rca.service
com.adobe.livecycle.rca.service.core
com.adobe.livecycle.rca.service.core.delegate
com.adobe.livecycle.rca.service.process
com.adobe.livecycle.rca.service.process.delegate
com.adobe.livecycle.rca.token
com.adobe.livecycle.ria.security.api
com.adobe.livecycle.ria.security.service
com.adobe.mosaic.layouts
com.adobe.mosaic.layouts.dragAndDrop
com.adobe.mosaic.layouts.interfaces
com.adobe.mosaic.mxml
com.adobe.mosaic.om.constants
com.adobe.mosaic.om.events
com.adobe.mosaic.om.impl
com.adobe.mosaic.om.interfaces
com.adobe.mosaic.skinning
com.adobe.mosaic.sparklib.editors
com.adobe.mosaic.sparklib.optionMenu
com.adobe.mosaic.sparklib.scrollableMenu
com.adobe.mosaic.sparklib.scrollableMenu.skins
com.adobe.mosaic.sparklib.tabLayout
com.adobe.mosaic.sparklib.tabLayout.events
com.adobe.mosaic.sparklib.tabLayout.layouts
com.adobe.mosaic.sparklib.tabLayout.skins
com.adobe.mosaic.sparklib.text
com.adobe.mosaic.sparklib.util
com.adobe.solutions.acm.authoring.presentation
com.adobe.solutions.acm.authoring.presentation.actionbar
com.adobe.solutions.acm.authoring.presentation.common
com.adobe.solutions.acm.authoring.presentation.events
com.adobe.solutions.acm.authoring.presentation.fragment
com.adobe.solutions.acm.authoring.presentation.letter
com.adobe.solutions.acm.authoring.presentation.letter.data
com.adobe.solutions.acm.authoring.presentation.preview
com.adobe.solutions.acm.authoring.presentation.rte
com.adobe.solutions.acm.ccr.presentation
com.adobe.solutions.acm.ccr.presentation.contentcapture
com.adobe.solutions.acm.ccr.presentation.contentcapture.events
com.adobe.solutions.acm.ccr.presentation.contentcapture.preview
com.adobe.solutions.acm.ccr.presentation.datacapture
com.adobe.solutions.acm.ccr.presentation.datacapture.renderers
com.adobe.solutions.acm.ccr.presentation.pdf
com.adobe.solutions.exm
com.adobe.solutions.exm.authoring
com.adobe.solutions.exm.authoring.components.controls
com.adobe.solutions.exm.authoring.components.toolbars
com.adobe.solutions.exm.authoring.domain
com.adobe.solutions.exm.authoring.domain.expression
com.adobe.solutions.exm.authoring.domain.impl
com.adobe.solutions.exm.authoring.domain.method
com.adobe.solutions.exm.authoring.domain.variable
com.adobe.solutions.exm.authoring.enum
com.adobe.solutions.exm.authoring.events
com.adobe.solutions.exm.authoring.model
com.adobe.solutions.exm.authoring.renderer
com.adobe.solutions.exm.authoring.view
com.adobe.solutions.exm.expression
com.adobe.solutions.exm.impl
com.adobe.solutions.exm.impl.method
com.adobe.solutions.exm.method
com.adobe.solutions.exm.mock
com.adobe.solutions.exm.mock.method
com.adobe.solutions.exm.runtime
com.adobe.solutions.exm.runtime.impl
com.adobe.solutions.exm.variable
com.adobe.solutions.prm.constant
com.adobe.solutions.prm.domain
com.adobe.solutions.prm.domain.factory
com.adobe.solutions.prm.domain.impl
com.adobe.solutions.prm.domain.manager
com.adobe.solutions.prm.presentation.asset
com.adobe.solutions.prm.presentation.constant
com.adobe.solutions.prm.presentation.document
com.adobe.solutions.prm.presentation.event
com.adobe.solutions.prm.presentation.file
com.adobe.solutions.prm.presentation.project
com.adobe.solutions.prm.presentation.team
com.adobe.solutions.prm.presentation.util
com.adobe.solutions.prm.service
com.adobe.solutions.prm.services.impl
com.adobe.solutions.prm.vo
com.adobe.solutions.rca.constant
com.adobe.solutions.rca.domain
com.adobe.solutions.rca.domain.common
com.adobe.solutions.rca.domain.factory
com.adobe.solutions.rca.domain.impl
com.adobe.solutions.rca.domain.impl.manager
com.adobe.solutions.rca.domain.manager
com.adobe.solutions.rca.presentation
com.adobe.solutions.rca.presentation.comment
com.adobe.solutions.rca.presentation.constant
com.adobe.solutions.rca.presentation.event
com.adobe.solutions.rca.presentation.gantt
com.adobe.solutions.rca.presentation.gantt.ruler
com.adobe.solutions.rca.presentation.template
com.adobe.solutions.rca.presentation.template.audit
com.adobe.solutions.rca.presentation.template.definition
com.adobe.solutions.rca.presentation.template.documents
com.adobe.solutions.rca.presentation.template.stages
com.adobe.solutions.rca.presentation.util
com.adobe.solutions.rca.service
com.adobe.solutions.rca.services.impl
com.adobe.solutions.rca.vo
com.adobe.solutions.rca.vo.um
com.adobe.viewsource
fl.accessibility
fl.containers
fl.controls
fl.controls.dataGridClasses
fl.controls.listClasses
fl.controls.progressBarClasses
fl.core
fl.data
fl.display
fl.events
fl.ik
fl.lang
fl.livepreview
fl.managers
fl.motion
fl.motion.easing
fl.rsl
fl.text
fl.transitions
fl.transitions.easing
fl.video
flash.accessibility
flash.concurrent
flash.crypto
flash.data
flash.desktop
flash.display
flash.display3D
flash.display3D.textures
flash.errors
flash.events
flash.external
flash.filesystem
flash.filters
flash.geom
flash.globalization
flash.html
flash.media
flash.net
flash.net.dns
flash.net.drm
flash.notifications
flash.permissions
flash.printing
flash.profiler
flash.sampler
flash.security
flash.sensors
flash.system
flash.text
flash.text.engine
flash.text.ime
flash.ui
flash.utils
flash.xml
flashx.textLayout
flashx.textLayout.compose
flashx.textLayout.container
flashx.textLayout.conversion
flashx.textLayout.edit
flashx.textLayout.elements
flashx.textLayout.events
flashx.textLayout.factory
flashx.textLayout.formats
flashx.textLayout.operations
flashx.textLayout.utils
flashx.undo
ga.controls
ga.layouts
ga.model
ga.uiComponents
ga.util
ga.views
ga.wrappers
lc.foundation
lc.foundation.domain
lc.foundation.events
lc.foundation.ui
lc.foundation.util
lc.preloader
lc.procmgmt
lc.procmgmt.commands
lc.procmgmt.domain
lc.procmgmt.events
lc.procmgmt.formbridge
lc.procmgmt.impl
lc.procmgmt.ui.attachments
lc.procmgmt.ui.controls
lc.procmgmt.ui.controls.card
lc.procmgmt.ui.controls.renderer
lc.procmgmt.ui.help
lc.procmgmt.ui.layout
lc.procmgmt.ui.presentationmodel
lc.procmgmt.ui.process
lc.procmgmt.ui.search
lc.procmgmt.ui.startpoint
lc.procmgmt.ui.task
lc.procmgmt.ui.task.form
lc.procmgmt.ui.task.form.commands
lc.procmgmt.ui.tracking
mx.accessibility
mx.automation
mx.automation.air
mx.automation.delegates
mx.automation.delegates.advancedDataGrid
mx.automation.delegates.charts
mx.automation.delegates.containers
mx.automation.delegates.controls
mx.automation.delegates.controls.dataGridClasses
mx.automation.delegates.controls.fileSystemClasses
mx.automation.delegates.core
mx.automation.delegates.flashflexkit
mx.automation.events
mx.binding
mx.binding.utils
mx.charts
mx.charts.chartClasses
mx.charts.effects
mx.charts.effects.effectClasses
mx.charts.events
mx.charts.renderers
mx.charts.series
mx.charts.series.items
mx.charts.series.renderData
mx.charts.styles
mx.collections
mx.collections.errors
mx.containers
mx.containers.accordionClasses
mx.containers.dividedBoxClasses
mx.containers.errors
mx.containers.utilityClasses
mx.controls
mx.controls.advancedDataGridClasses
mx.controls.dataGridClasses
mx.controls.listClasses
mx.controls.menuClasses
mx.controls.olapDataGridClasses
mx.controls.scrollClasses
mx.controls.sliderClasses
mx.controls.textClasses
mx.controls.treeClasses
mx.controls.videoClasses
mx.core
mx.core.windowClasses
mx.data
mx.data.crypto
mx.data.errors
mx.data.events
mx.data.messages
mx.data.mxml
mx.data.offline.errors
mx.data.utils
mx.effects
mx.effects.easing
mx.effects.effectClasses
mx.events
mx.filters
mx.flash
mx.formatters
mx.geom
mx.graphics
mx.graphics.codec
mx.graphics.shaderClasses
mx.logging
mx.logging.errors
mx.logging.targets
mx.managers
mx.messaging
mx.messaging.channels
mx.messaging.config
mx.messaging.errors
mx.messaging.events
mx.messaging.management
mx.messaging.messages
mx.modules
mx.netmon
mx.olap
mx.olap.aggregators
mx.preloaders
mx.printing
mx.resources
mx.rpc
mx.rpc.events
mx.rpc.http
mx.rpc.http.mxml
mx.rpc.livecycle
mx.rpc.mxml
mx.rpc.remoting
mx.rpc.remoting.mxml
mx.rpc.soap
mx.rpc.soap.mxml
mx.rpc.wsdl
mx.rpc.xml
mx.skins
mx.skins.halo
mx.skins.spark
mx.skins.wireframe
mx.skins.wireframe.windowChrome
mx.states
mx.styles
mx.utils
mx.validators
org.osmf.containers
org.osmf.display
org.osmf.elements
org.osmf.events
org.osmf.layout
org.osmf.logging
org.osmf.media
org.osmf.metadata
org.osmf.net
org.osmf.net.dvr
org.osmf.net.httpstreaming
org.osmf.net.metrics
org.osmf.net.qos
org.osmf.net.rtmpstreaming
org.osmf.net.rules
org.osmf.traits
org.osmf.utils
spark.accessibility
spark.automation.delegates
spark.automation.delegates.components
spark.automation.delegates.components.gridClasses
spark.automation.delegates.components.mediaClasses
spark.automation.delegates.components.supportClasses
spark.automation.delegates.skins.spark
spark.automation.events
spark.collections
spark.components
spark.components.calendarClasses
spark.components.gridClasses
spark.components.mediaClasses
spark.components.supportClasses
spark.components.windowClasses
spark.core
spark.effects
spark.effects.animation
spark.effects.easing
spark.effects.interpolation
spark.effects.supportClasses
spark.events
spark.filters
spark.formatters
spark.formatters.supportClasses
spark.globalization
spark.globalization.supportClasses
spark.layouts
spark.layouts.supportClasses
spark.managers
spark.modules
spark.preloaders
spark.primitives
spark.primitives.supportClasses
spark.skins
spark.skins.mobile
spark.skins.mobile.supportClasses
spark.skins.spark
spark.skins.spark.mediaClasses.fullScreen
spark.skins.spark.mediaClasses.normal
spark.skins.spark.windowChrome
spark.skins.wireframe
spark.skins.wireframe.mediaClasses
spark.skins.wireframe.mediaClasses.fullScreen
spark.transitions
spark.utils
spark.validators
spark.validators.supportClasses
xd.core.axm.enterprise.view.components
xd.core.axm.enterprise.view.skins
xd.core.axm.view.components
xd.core.axm.view.components.support

Language Elements

Global Constants
Global Functions
Operators
Statements, Keywords & Directives
Special Types

Appendixes

What's New
Compiler Errors
Compiler Warnings
Run-Time Errors
Migrating to ActionScript 3
Supported Character Sets
MXML Only Tags
Motion XML Elements
Timed Text Tags
List of deprecated elements
Accessibility Implementation Constants
How to Use ActionScript Examples
Legal notices
Packageflash.globalization
Classpublic final class Collator
InheritanceCollator Inheritance Object

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

The Collator class provides locale-sensitive string comparison capabilities.

This class uses the string comparison services provided by the operating system. The comparisons differ according to the locale identifier that is provided when the class instance is created. ActionScript stores strings using the Unicode character set. The Boolean string comparison operators (==, !=, <, <=, >, >=) use Unicode code points for comparison. In most cases the resulting sort order doesn't match the conventions of a particular language and region, and thus should not be used to sort strings that are presented in a user interface. In contrast the comparison methods in this class provide an order that adheres to these conventions.

Here are some examples where the sort order differs depending on the language:

  • In English, lowercase a is before uppercase A and uppercase A is before lowercase b.
  • ö is after z in Swedish, whereas in German ö is after o
  • ch is sorted as one character between c-d in traditional Spanish

Sort orders can even differ within the same language and region depending on the usage. For example, in German there is a different sort order used for names in a phone book versus words in a dictionary. In Chinese and Japanese there are different ways of sorting the ideographic characters: by pronunciation or by the ideographic radical and the number of strokes uses in the glyph. In Spanish and Georgian, there is a difference between modern and traditional sorting.

The comparison methods in this class provide two main usage modes. The initialMode parameter of the Collator() constructor controls these modes. The default "sorting" mode is for sorting items that are displayed to an end user. In this mode, comparison is more strict to ensure that items that are otherwise the same are sorted in a consistent manner. For example, uppercase letters and lowercase letters do not compare as equal. In the "matching" mode the comparison is more lenient. For example in this mode uppercase and lowercase letters are treated equally. Here's an example that demonstrates both of these modes:

 
     var sortingCollator:Collator = new Collator("en-US", CollatorMode.SORTING);
     var words:Array = new  Array("Airplane" , "airplane", "boat", "Boat");
     words.sort(sortingCollator.compare);
     trace(words);
              
     var matchingCollator:Collator = new Collator("en-US", CollatorMode.MATCHING);
     if (matchingCollator.equals("Car", "car")) {
       trace("The words match!");
     }
     

Even when providing a locale ID parameter to the constructor as shown above, collation behavior can differ by user based on the user's operating system settings and whether a fallback locale is used when the requested locale is not supported.

View the examples



Public Properties
 PropertyDefined By
  actualLocaleIDName : String
[read-only] The name of the actual locale ID used by this Collator object.
Collator
 Inheritedconstructor : Object
A reference to the class object or constructor function for a given object instance.
Object
  ignoreCase : Boolean
When this property is set to true, identical strings and strings that differ only in the case of the letters are evaluated as equal.
Collator
  ignoreCharacterWidth : Boolean
When this property is true, full-width and half-width forms of some Chinese and Japanese characters are evaluated as equal.
Collator
  ignoreDiacritics : Boolean
When this property is set to true, strings that use the same base characters but different accents or other diacritic marks are evaluated as equal.
Collator
  ignoreKanaType : Boolean
When this property is set to true, strings that differ only by the type of kana character being used are treated as equal.
Collator
  ignoreSymbols : Boolean
When this property is set to is true, symbol characters such as spaces, currency symbols, math symbols, and other types of symbols are ignored when sorting or matching.
Collator
  lastOperationStatus : String
[read-only] The status of the most recent operation that this Collator object performed.
Collator
  numericComparison : Boolean
Controls how numeric values embedded in strings are handled during string comparison.
Collator
  requestedLocaleIDName : String
[read-only] The name of the requested locale ID that was passed to the constructor of this Collator object.
Collator
Public Methods
 MethodDefined By
  
Collator(requestedLocaleIDName:String, initialMode:String = "sorting")
Constructs a new Collator object to provide string comparisons according to the conventions of a specified locale.
Collator
  
compare(string1:String, string2:String):int
Compares two strings and returns an integer value indicating whether the first string is less than, equal to, or greater than the second string.
Collator
  
equals(string1:String, string2:String):Boolean
Compares two strings and returns a Boolean value indicating whether the strings are equal.
Collator
  
[static] Lists all of the locale ID names supported by this class.
Collator
 Inherited
Indicates whether an object has a specified property defined.
Object
 Inherited
Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter.
Object
 Inherited
Indicates whether the specified property exists and is enumerable.
Object
 Inherited
Sets the availability of a dynamic property for loop operations.
Object
 Inherited
Returns the string representation of this object, formatted according to locale-specific conventions.
Object
 Inherited
Returns the string representation of the specified object.
Object
 Inherited
Returns the primitive value of the specified object.
Object
Property Detail

actualLocaleIDName

property
actualLocaleIDName:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

The name of the actual locale ID used by this Collator object.

There are three possibilities for the value of the name, depending on operating system and the value of the requestedLocaleIDName parameter passed to the Collator() constructor.

  1. If the requested locale was not LocaleID.DEFAULT and the operating system provides support for the requested locale, then the name returned is the same as the requestedLocaleIDName property.
  2. If LocaleID.DEFAULT was used as the value for the requestedLocaleIDName parameter to the constructor, then the name of the current locale specified by the user's operating system is used. The LocaleID.DEFAULT value preserves user's customized setting in the OS. Passing an explicit value as the requestedLocaleIDName parameter does not necessarily give the same result as using the LocaleID.DEFAULT even if the two locale ID names are the same. The user might have customized the locale settings on their machine, and by requesting an explicit locale ID name rather than using LocaleID.DEFAULT your application would not retrieve those customized settings.
  3. If the system does not support the requestedLocaleIDName specified in the constructor then a fallback locale ID name is provided.



Implementation
    public function get actualLocaleIDName():String

Related API Elements

ignoreCase

property 
ignoreCase:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

When this property is set to true, identical strings and strings that differ only in the case of the letters are evaluated as equal. For example, compare("ABC", "abc") returns true when the ignoreCase property is set to true.

The case conversion of the string follows the rules for the specified locale.

When the ignoreCase property is false then upper- and lowercase characters are not equal to one another.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise, the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is true when the Collator() constructor's initialMode parameter is set to Collator.MATCHING. The default value is false when the Collator() constructor's initialMode parameter is set to Collator.SORTING.



Implementation
    public function get ignoreCase():Boolean
    public function set ignoreCase(value:Boolean):void

Related API Elements

ignoreCharacterWidth

property 
ignoreCharacterWidth:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

When this property is true, full-width and half-width forms of some Chinese and Japanese characters are evaluated as equal.

For compatibility with existing standards for Chinese and Japanese character sets, Unicode provides character codes for both full-width and half width-forms of some characters. For example, when the ignoreCharacterWidth property is set to true, compare("Aア", "Aア") returns true.

If the ignoreCharacterWidth property is set to false, then full-width and half-width forms are not equal to one another.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is false.



Implementation
    public function get ignoreCharacterWidth():Boolean
    public function set ignoreCharacterWidth(value:Boolean):void

Related API Elements

ignoreDiacritics

property 
ignoreDiacritics:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

When this property is set to true, strings that use the same base characters but different accents or other diacritic marks are evaluated as equal. For example compare("coté", "côte") returns true when the ignoreDiacritics property is set to true.

When the ignoreDiacritics is set to false then base characters with diacritic marks or accents are not considered equal to one another.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is false.



Implementation
    public function get ignoreDiacritics():Boolean
    public function set ignoreDiacritics(value:Boolean):void

Related API Elements

ignoreKanaType

property 
ignoreKanaType:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

When this property is set to true, strings that differ only by the type of kana character being used are treated as equal. For example, compare("カナ", "かな") returns true when the ignoreKanaType property is set to true.

If the ignoreKanaType is set to false then hiragana and katakana characters that refer to the same syllable are not equal to one another.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is false.



Implementation
    public function get ignoreKanaType():Boolean
    public function set ignoreKanaType(value:Boolean):void

Related API Elements

ignoreSymbols

property 
ignoreSymbols:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

When this property is set to is true, symbol characters such as spaces, currency symbols, math symbols, and other types of symbols are ignored when sorting or matching. For example the strings "OBrian", "O'Brian", and "O Brian" would all be treated as equal when the ignoreSymbols property is set to true.

If the ignoreSymbols property is false then symbol characters are considered in string comparisons.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is false.



Implementation
    public function get ignoreSymbols():Boolean
    public function set ignoreSymbols(value:Boolean):void

Related API Elements

lastOperationStatus

property 
lastOperationStatus:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

The status of the most recent operation that this Collator object performed. The lastOperationStatus is set whenever the constructor or a method of this class is called, or when a property is set. For the possible values see the description under each method.



Implementation
    public function get lastOperationStatus():String

Related API Elements

numericComparison

property 
numericComparison:Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

Controls how numeric values embedded in strings are handled during string comparison.

When the numericComparison property is set to true, the compare method converts numbers that appear in strings to numerical values for comparison.

When this property is set to false, the comparison treats numbers as character codes and sort them according to the rules for sorting characters in the specified locale.

For example, when this property is true for the locale ID "en-US", then the strings "version1", "version10", and "version2" are sorted into the following order: version1 < version2 < version10.

When this property is false for "en-US", those same strings are sorted into the following order: version1 < version10 < version2.

When this property is assigned a value and there are no errors or warnings, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

The default value is false.



Implementation
    public function get numericComparison():Boolean
    public function set numericComparison(value:Boolean):void

Related API Elements

requestedLocaleIDName

property 
requestedLocaleIDName:String  [read-only]

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

The name of the requested locale ID that was passed to the constructor of this Collator object.

If the LocaleID.DEFAULT value was used then the name returned is "i-default". The actual locale used can differ from the requested locale when a fallback locale is applied. The name of the actual locale can be retrieved using the actualLocaleIDName property.



Implementation
    public function get requestedLocaleIDName():String

Related API Elements

Constructor Detail

Collator

()Constructor
public function Collator(requestedLocaleIDName:String, initialMode:String = "sorting")

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

Constructs a new Collator object to provide string comparisons according to the conventions of a specified locale.

If the current operating system does not support the locale ID that is passed in the requestedLocaleIDName parameter, then a fallback locale is determined. If a fallback is used then the lastOperationStatus property is set to indicate the type of fallback.

The initialMode parameter sets various collation options for general uses. It can be set to one of the following values:

  • CollatorMode.SORTING: sets collation options for general linguistic sorting usages such as sorting a list of text strings that are displayed to an end user. In this mode, differences in uppercase and lowercase letters, accented characters, and other differences specific to the locale are considered when doing string comparisons.
  • CollatorMode.MATCHING: sets collation options for general usages such as determining if two strings are equivalent. In this mode, differences in uppercase and lower case letters, accented characters, and so on are ignored when doing string comparisons.

Here is an example of a sorted list created using a Collator with the locale ID "en-US" (English in US) and the CollatorMode.SORTING option:

AaÄäAaAEaeÆæBbBbCcçCc

As shown above, all characters are treated as if they have different values, but in linguistic order.

Here is an example of a sorted list created using Collator with the locale ID "en-US" (English in US) and the CollatorMode.MATCHING option:

A a Ä ä A aAE ae Æ æB b B bC c ç C c

As shown above, some characters are in linguistic order and are treated as if they have the same character value.

For finer control over sorting order, you can change collator properties such as Collator.ignoreCase or Collator.ignoreDiacritics.

For reference, here is a corresponding sorting example done using the standard Array.sort(), which is not locale-aware:

AAEBCaaebcÄÆäæçABab

As you can see above, all characters are sorted simply in Unicode numeric value order. It does not make much sense linguistically.

To use the user's current operating system preferences, pass the static value LocaleID.DEFAULT in the requestedLocaleIDName parameter to the constructor.

Some locales have several sort order variants. For example, in German one sort order is used for phone books and another sort order is used for dictionaries. In Chinese, words are commonly supported by transliteration of the characters into the pinyin. These different sort orders can be selected by including the "collation" keyword in the string that is passed in the requestedLocaleIDName parameter to the constructor.

Copy
         var germanPhonebook:LocaleID = new LocaleID("de-DE@collation=phonebook");
         var chinesePinyin:LocaleID = new LocaleID("zh-Hant@collation=pinyin");
         

Possible values for the collation string are as follows, with the affected languages shown in parentheses:

Collation stringDescriptionstandardThe default ordering for each language. phonebookFor a phonebook-style ordering (used in German).pinyinPinyin ordering for Latin and for CJK characters; that is, an ordering for CJK characters based on a character-by-character transliteration into a pinyin. (used in Chinese)traditionalFor a traditional-style sort (used in Spanish) strokePinyin ordering for Latin, stroke order for CJK characters (used in Chinese)direct(used in Hindi) big5hanPinyin ordering for Latin, big5 character set ordering for CJK characters. (used in Chinese) gb2312han Pinyin ordering for Latin, gb2312han character set ordering for CJK characters. (used in Chinese) unihanPinyin ordering for Latin, Unihan radical-stroke ordering for CJK characters. (used in Chinese)

If the host platform does not support the requested collation type, then a fallback is used and the lastOperationStatus property is set to indicate that a fallback was selected. You can use the actualLocaleIDName property to determine the value that was used as a fallback, as shown in the following example:

Copy
         var collator:Collator = new Collator("fr-FR");
         if (collator.lastOperationStatus == LastOperationStatus.USING_FALLBACK_WARNING)
         {
           trace ("Using fallback locale: " + collator.actualLocaleIDName);
         }
         

When the constructor completes successfully, then the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

When the requested locale ID is not available, then the lastOperationStatus property is set to one of the following:

  • LastOperationStatus.USING_FALLBACK_WARNING
  • LastOperationStatus.USING_DEFAULT_WARNING

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

For details on the warnings listed above and other possible values of lastOperationStatus, see the descriptions in the LastOperationStatus class.

Parameters
requestedLocaleIDName:StringString to be used by this Collator object.
 
initialMode:String (default = "sorting") — A string value to specify the initial collation mode. The default value is CollatorMode.SORTING. See the CollatorMode class for a list of available modes.

Throws
TypeError — when the requestedLocaleIDName parameter is null.
 
ArgumentError — when the requestedLocaleIDName parameter contains an invalid value.

Related API Elements

Method Detail

compare

()method
public function compare(string1:String, string2:String):int

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

Compares two strings and returns an integer value indicating whether the first string is less than, equal to, or greater than the second string. The comparison uses the sort order rules for the locale ID that was specified in the Collator() constructor.

When this method is called and it completes successfully, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

Parameters

string1:String — First comparison string.
 
string2:String — Second comparison string.

Returns
int — An integer value indicating whether the first string is less than, equal to, or greater than the second string.
  • If the return value is negative, string1 is less than string2.
  • If the return value is zero, string1 is equal to string2.
  • If the return value is positive, string1 is larger than string2.

Throws
TypeError — when a required parameter is null.
 
ArgumentError — when a parameter contains an invalid value.

Related API Elements

equals

()method 
public function equals(string1:String, string2:String):Boolean

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

Compares two strings and returns a Boolean value indicating whether the strings are equal. The comparison uses the sort order rules for the locale ID that was specified in the Collator() constructor.

When this method is called and it completes successfully, the lastOperationStatus property is set to:

  • LastOperationStatus.NO_ERROR

Otherwise the lastOperationStatus property is set to one of the constants defined in the LastOperationStatus class.

Parameters

string1:String — First comparison string.
 
string2:String — Second comparison string.

Returns
Boolean — A Boolean value indicating whether the strings are equal (true) or unequal (false).

Throws
TypeError — when a required parameter is null.
 
ArgumentError — when a parameter contains an invalid value.

Related API Elements

getAvailableLocaleIDNames

()method 
public static function getAvailableLocaleIDNames():Vector.<String>

Language Version: ActionScript 3.0
Runtime Versions: Flash Player 10.1, AIR 2

Lists all of the locale ID names supported by this class.

If this class is not supported at all on the current operating system, this method returns a null value.

Returns
Vector.<String> — A vector of strings containing all of the locale ID names supported by this class.
CollatorExample1.as

The following example shows sorting results that differ based on the locale. The example takes the following steps:
  1. Iterates through an array of locale ID names, including the default locale ID for the operating system (as specified by LocaleID.DEFAULT)
  2. Creates a Collator object for each locale ID name using "sorting" mode (the default).
  3. Displays the requested and actual locale ID names and the value of the lastOperationStatus property so you can see if a fallback locale was used.
  4. Sorts a data array using each collator and displays the results. The resulting order is different for each locale.
package {
    import flash.globalization.Collator;
    import flash.globalization.LocaleID;

    public class CollatorExample1
    {
        public var col:Collator;
        
        public function CollatorExample1():void
        {        
            var localeNames:Array = [LocaleID.DEFAULT,
                                     "de-DE", "sv-SE",
                                     "fr-FR", "lt-LT",
                                     "es-ES"];
            
            var testSortData:Array = [
                "y ", "i ", "k ", // Latvian
                "acxa ", "acha ", "adxa ", // es_traditional
                "n ", "ö ", "o ", "z ", "vu ", "wo ", // sw
                "däd ", "daed ", // de
                "öf ", "of ", // de_dictionary
                "côte ", "coté " // fr
            ];
            
            for each (var localeName:String in localeNames) {
            
                col = new Collator(localeName);
                
                trace("LocaleID requested: " + col.requestedLocaleIDName 
                       + "; actual: " + col.actualLocaleIDName);
                       
                trace("Last Operation Status: " + col.lastOperationStatus );
                
                var result:Array = testSortData.sort(col.compare);
                        
                trace ("sorted data: " + result); 
            }
        }      
    }
}
CollatorExample2.as

The following examples shows uses a Collator object to control the behavior of string comparisons. The example takes the following steps:
  1. Creates a Collator object for the user's default locale using "matching" mode.
  2. Alternately sets the Collator.ignoreDiacritics property to false and true
  3. Compares sets of strings that contain diacritics and upper case and lower case characters.
  4. Shows how the comparisons change when the Collator.ignoreDiacritics and Collator.ignoreCase properties change.
package {
    import flash.display.Sprite;
    import flash.globalization.Collator;
    import flash.globalization.CollatorMode;
    import flash.globalization.LocaleID;
    
    public class CollatorExample2 extends Sprite
    {
        public var col:Collator;
        public var testMatchData:Array = ["cote", "Cote", "côte", "coté"];
        public var wordToMatch:String = "Cote";
        
        public function CollatorExample2()
        {
            col = new Collator( LocaleID.DEFAULT, CollatorMode.MATCHING );

            trace("LocaleID requested: " + col.requestedLocaleIDName 
                    + "; actual: " + col.actualLocaleIDName);
                    
            trace("Last Operation Status: " + col.lastOperationStatus );

            trace('\n' + "ignoreCase = " + col.ignoreCase);
            trace("ignoreDiacritics = " + col.ignoreDiacritics);

            compareString(testMatchData, wordToMatch) // All variations of the word cote match

            col.ignoreDiacritics = false;
            trace('\n' + "ignoreDiacritics = false");

            compareString(testMatchData, wordToMatch) // Variations with different diacritics will not match

            col.ignoreCase = false;
            trace('\n' + "ignoreCase = false");

            compareString(testMatchData, wordToMatch) // Variations with different case will not match
        }
    
        private function compareString(stringArray:Array, keyword:String):void
        {
            for each(var s:String in stringArray)
            {
                if(col.equals(s, keyword))    
                {
                    trace(keyword + " = " + s);
                }
            }
        }
    }
}