You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flex.apache.org by "Mihai Chira (JIRA)" <ji...@apache.org> on 2016/11/06 16:01:59 UTC

[jira] [Updated] (FLEX-34880) Sort and SortField state setters are now behind mx_internal and out of the interfaces

     [ https://issues.apache.org/jira/browse/FLEX-34880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mihai Chira updated FLEX-34880:
-------------------------------
    Summary: Sort and SortField state setters are now behind mx_internal and out of the interfaces  (was: Place Sort and SortField state setters behind mx_internal)

> Sort and SortField state setters are now behind mx_internal and out of the interfaces
> -------------------------------------------------------------------------------------
>
>                 Key: FLEX-34880
>                 URL: https://issues.apache.org/jira/browse/FLEX-34880
>             Project: Apache Flex
>          Issue Type: Sub-task
>          Components: Spark: Sort and SortField
>    Affects Versions: Apache Flex 4.15.0
>            Reporter: Mihai Chira
>            Assignee: Mihai Chira
>             Fix For: Apache Flex 4.16.0
>
>
> h1. The change
> (Both mx and spark) {{Sort}} and {{SortField}} will be transitioned to immutable objects to prevent bugs like FLEX-34853. In this step we are:
> # _removing the state setters from the interfaces_ ({{ISort}} and {{ISortField}}).
> # _hiding the state setters behind the {{mx_internal}} namespace_. This also implies renaming them (because a getter and a setter with different namespaces throw a compile error). The pattern is: {{public function set compareFunction(c:Function):void}} becomes {{mx_internal function set compareFunction_(c:Function):void}}.
> h1. Usage
> h3. Before
> {code}
> var sortField:ISortField = new SortField();
> sortField.name = "title";
> sortField.descending = true;
> sortField.numeric = false;
> sortField.sortCompareType = SortFieldCompareTypes.STRING;
> sortField.compareFunction = titleCompareFunction;
> {code}
> h3. After; Version 1 (_preferred_)
> {code}
> var sortField:ISortField = new SortField("title", true, false, SortFieldCompareTypes.STRING, titleCompareFunction);
> {code}
> h3. After; Version 2 (_deprecated, invalid in future versions_)
> {code}
> var sortField:ISortField = new SortField();
> SortField(sortField).mx_internal::name_ = "title";
> SortField(sortField).mx_internal::descending_ = true;
> SortField(sortField).mx_internal::numeric_ = false;
> SortField(sortField).mx_internal::sortCompareType_ = SortFieldCompareTypes.STRING;
> SortField(sortField).mx_internal::compareFunction_ = someCompareFunction;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)