You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Peter (JIRA)" <ji...@apache.org> on 2013/08/12 02:34:47 UTC
[jira] [Updated] (CB-4566) Code should use PluginResult.Status as
an enum instead of int ordinal
[ https://issues.apache.org/jira/browse/CB-4566?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Peter updated CB-4566:
----------------------
Description:
Since PluginResult.Status is an enum, it would be better to use it as enum wherever it is used instead of referring to .ordinal() everywhere.
* code will be easier to read
* code will be shorter
* debugging of status value will be easier
For example, PluginResult.java member status should be enum:
{code}
//private final int status;
private final Status status;
{code}
PluginResult.java method should return enum:
{code}
//public int getStatus() {
public Status getStatus() {
return status;
}
{code}
Then the only places that actually need to use .ordinal() are those encoding methods in NativeToJsMessageQueue.java. For example:
{code}
PluginResult.Status status = pluginResult.getStatus();
boolean noResult = status == PluginResult.Status.NO_RESULT;
boolean resultOk = status == PluginResult.Status.OK;
boolean keepCallback = pluginResult.getKeepCallback();
sb.append((noResult || resultOk) ? 'S' : 'F')
.append(keepCallback ? '1' : '0')
.append(status.ordinal())
.append(' ')
...
{code}
and the (deprecated) PluginResult.getJSONString()
was:
Since PluginResult.Status is an enum, it would be better to use it as enum wherever it is used instead of referring to .ordinal() everywhere.
* code will be easier to read
* code will be shorter
* debugging of status value will be easier
For example, PluginResult.java member status should be enum:
{code}
//private final int status;
private final Status status;
{code}
PluginResult.java method should return enum:
{code}
//public int getStatus() {
public Status getStatus() {
return status;
}
{code}
Then the only places that actually need to use .ordinal() are those encoding methods in NativeToJsMessageQueue.java. For example:
{code}
PluginResult.Status status = pluginResult.getStatus();
boolean noResult = status == PluginResult.Status.NO_RESULT;
boolean resultOk = status == PluginResult.Status.OK;
boolean keepCallback = pluginResult.getKeepCallback();
sb.append((noResult || resultOk) ? 'S' : 'F')
.append(keepCallback ? '1' : '0')
.append(status.ordinal())
.append(' ')
...
{code}
> Code should use PluginResult.Status as an enum instead of int ordinal
> ---------------------------------------------------------------------
>
> Key: CB-4566
> URL: https://issues.apache.org/jira/browse/CB-4566
> Project: Apache Cordova
> Issue Type: Improvement
> Components: Android
> Affects Versions: 2.9.0
> Reporter: Peter
> Assignee: Joe Bowser
> Priority: Minor
>
> Since PluginResult.Status is an enum, it would be better to use it as enum wherever it is used instead of referring to .ordinal() everywhere.
> * code will be easier to read
> * code will be shorter
> * debugging of status value will be easier
> For example, PluginResult.java member status should be enum:
> {code}
> //private final int status;
> private final Status status;
> {code}
> PluginResult.java method should return enum:
> {code}
> //public int getStatus() {
> public Status getStatus() {
> return status;
> }
> {code}
> Then the only places that actually need to use .ordinal() are those encoding methods in NativeToJsMessageQueue.java. For example:
> {code}
> PluginResult.Status status = pluginResult.getStatus();
> boolean noResult = status == PluginResult.Status.NO_RESULT;
> boolean resultOk = status == PluginResult.Status.OK;
> boolean keepCallback = pluginResult.getKeepCallback();
> sb.append((noResult || resultOk) ? 'S' : 'F')
> .append(keepCallback ? '1' : '0')
> .append(status.ordinal())
> .append(' ')
> ...
> {code}
> and the (deprecated) PluginResult.getJSONString()
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira