Can't you just create your own version of
AttachedCompoundPropertyModel (you are after all thinking about
extending it, and there isn't so much going on in that class) and
overriding wrapOnInheritance and return an instance of your class?

Eelco


On 6/17/07, Maurice Marrink <[EMAIL PROTECTED]> wrote:
Hi, I am in the process of extending CompoundPropertyModel and its
inner class AttachedCompoundPropertyModel. However since the last is a
private inner class i am forced to copy the class definition in to my
own creating some code duplication. In order to prevent this
duplication it would be helpful if this inner class was made protected
instead of private and provided a method to access the owning
component. These proposed changes are already applied to the attached
patch. So if everybody agrees the change can be made very quickly.

Index: .
===================================================================
--- .   (revision 548032)
+++ .   (working copy)
@@ -149,7 +149,7 @@
         *
         * @author ivaynberg
         */
-       private class AttachedCompoundPropertyModel extends 
AbstractPropertyModel
+       protected class AttachedCompoundPropertyModel extends 
AbstractPropertyModel
                        implements  IWrapModel
        {
                private static final long serialVersionUID = 1L;
@@ -167,7 +167,14 @@
                        super(CompoundPropertyModel.this);
                        this.owner = owner;
                }
-
+               /**
+                * The owning component of this model.
+                * @return the component owning this model.
+                */
+               protected final Component getOwner()
+               {
+                       return owner;
+               }
                /**
                 * @see 
org.apache.wicket.model.AbstractPropertyModel#propertyExpression()
                 */


What do you think?

Maurice

Reply via email to