db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Craig Russell (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (JDO-459) PersistenceCapable.jdoIsDetached needs update to reflect latest
Date Sun, 07 Jan 2007 17:22:27 GMT

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

Craig Russell reassigned JDO-459:
---------------------------------

    Assignee: Craig Russell

> PersistenceCapable.jdoIsDetached needs update to reflect latest
> ---------------------------------------------------------------
>
>                 Key: JDO-459
>                 URL: https://issues.apache.org/jira/browse/JDO-459
>             Project: JDO
>          Issue Type: Bug
>          Components: specification
>    Affects Versions: JDO 2 final
>            Reporter: Andy Jefferson
>         Assigned To: Craig Russell
>             Fix For: JDO 2 maintenance release 1
>
>
> There are two issues.
> 1. The JDO2 spec 21.21.3 has a suggested implementation of jdoIsDetached. This was clearly
written before we added "jdoDetachedState" to the PersistenceCapable interface and so a StateManager
is not present on a detached object.
> 2. When we have a base class that is not detachable and a subclass that is detachable
we have a problem to define PersistenceCapable.jdoIsDetached since the base class has no "jdoDetachedState",
and the method is final so cant be overridden by subclasses. We have 2 possible solutions
to this. Either we change the signature of jdoIsDetached to not be final (allowing subclasses
to override it), or we implement it like this
> Root class be enhanced with the following method
> public final boolean jdoIsDetached()
> {
>     return jdoIsDetachedInternal();
> }
> and if a class is Detachable it also gains the following method
> protected boolean jdoIsDetachedInternal()
> {
>     if (jdoStateManager == null)
>     {
>         if (jdoDetachedState == null)
>             return false;
>         return true;
>     }
>     return false;
> }
> and if a class is not Detachable it gains the following method
> protected boolean jdoIsDetachedInternal()
> {
>     return false;
> }
> This would then cater for the root class not being Detachable, and 
> subclass(es) being Detachable.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message