tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Henning Petersen (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (TAP5-2016) Scala style properties unnecessarily require a field with the same name
Date Mon, 22 Oct 2012 14:00:12 GMT

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

Henning Petersen updated TAP5-2016:
-----------------------------------

    Description: 
The changes introduced with TAP5-1064 allow Scala-style properties to be used from components
without the need for Java-style getters and setters. The implementation currently requires
a field of the same name as the property to exist on the bean, which is unfortunate. 

This works:

var value: String = _

<input ... t:value="value" />

This does not:

def value(): String = ...
def value_=(value: String) { ... }

<input ... t:value="value" />

A class which delegates property access to a backing bean is not recognized by PropertyAccessImpl
as having any valid properties; the same is the case when the field has a different name than
the property. 

Possible workarounds include a dead field in the value class to satisfy the condition in PropertyAccessImpl,
and adding Java-style getters and setters for the property.

  was:
The changes introduced with TAP5-1064 allow Scala-style properties to be used from components
without the need for Java-style getters and setters. The implementation currently requires
a field of the same name as the property to exist on the bean, which is unfortunate. 

This works:

var value: String = _

<input ... t:value="value" />

This does not:


def value(): String = ...
def value_=(value: String) { ... }

<input ... t:value="value" />

A class which delegates property access to a backing bean is not recognized by PropertyAccessImpl
as having any valid properties; the same is the case when the field has a different name than
the property. 

Possible workarounds include a dead field in the value class to satisfy the condition in PropertyAccessImpl,
and adding Java-style getters and setters for the property.

    
> Scala style properties unnecessarily require a field with the same name
> -----------------------------------------------------------------------
>
>                 Key: TAP5-2016
>                 URL: https://issues.apache.org/jira/browse/TAP5-2016
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-ioc
>    Affects Versions: 5.3.6, 5.2.5
>            Reporter: Henning Petersen
>              Labels: scala
>         Attachments: TAP5-2016.patch
>
>
> The changes introduced with TAP5-1064 allow Scala-style properties to be used from components
without the need for Java-style getters and setters. The implementation currently requires
a field of the same name as the property to exist on the bean, which is unfortunate. 
> This works:
> var value: String = _
> <input ... t:value="value" />
> This does not:
> def value(): String = ...
> def value_=(value: String) { ... }
> <input ... t:value="value" />
> A class which delegates property access to a backing bean is not recognized by PropertyAccessImpl
as having any valid properties; the same is the case when the field has a different name than
the property. 
> Possible workarounds include a dead field in the value class to satisfy the condition
in PropertyAccessImpl, and adding Java-style getters and setters for the property.

--
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

Mime
View raw message