I think you're right, we should reinstate.
I've raised https://issues.apache.org/jira/browse/ISIS-5.
Dan


On 11/10/2010 12:51, Robert Matthews wrote:
Here is the essential code

public class SetupPlanName extends PlanRelatedJob implements JobPrompt {

    // {{ name
    @NotPersisted
    @MemberOrder(sequence = "1.0")
@DescribedAs("Give each plan a unique name so they can be distinguished easily.")
    public String getPlanName() {
        Plan plan = getPlanBeingCreated();
        return plan == null ? null : plan.getName();
    }

    public void setPlanName(final String name) {}

    public void modifyPlanName(String name) {
        getPlanBeingCreated().setName(name);
        log("Changed name to '" + name + "'");
    }

    // }}

I wrote it this way so that the task could be used multiple times before it was marked as completed, and each time it would allow the name to be changed (rather than simply entered anew. The set method ensures that the field is seen as editable.

It could be written as an action with helpers to get hold of the current value, but that wouldn't help if there are other fields that need to be edited at the same time.

Rob


On 11/10/10 12:38, Dan Haywood wrote:

On 11/10/2010 12:30, Robert Matthews wrote:
Dan

What was your rational behind making non-persistent fields non-editable?
I guess cos I've only used them in the sense of showing derived information. If it were editable, then modifying the value would need to have a side-effect of updating some other property on this object or an associated one. That strikes me as something that ought to be represented as an action.



For example, I have a Task object that is created to change a Plan's details. It is coded so that the get and modify method in the Task delegate to the Plan (there is no need to persist this information twice).

Could you post the code, so we can debate it? (Since it's something that also would occur in NO MVC, it might also be helpful to to get Richard's view).





Reply via email to