Update of 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/entity/resources
In directory 
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3315/modules/ejb/src/xdoclet/modules/ejb/entity/resources

Modified Files:
        valueobject.xdt 
Log Message:
Re-Added isIdentical() Method and renamed getUnderlying() to underlying() to 
avoid conflicts. Thanks to Tyler Ward for patches. (XDT-1313)

Index: valueobject.xdt
===================================================================
RCS file: 
/cvsroot/xdoclet/xdoclet/modules/ejb/src/xdoclet/modules/ejb/entity/resources/valueobject.xdt,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -r1.31 -r1.32
*** valueobject.xdt     5 Apr 2005 11:19:26 -0000       1.31
--- valueobject.xdt     6 Apr 2005 07:12:40 -0000       1.32
***************
*** 479,482 ****
--- 479,540 ----
     }

  

+    /**

+     *

+     * @deprecated use [EMAIL PROTECTED] #equals}

+     */

+    public <XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="synchronization" value="full">synchronized 
</XDtClass:ifClassTagValueEquals>boolean isIdentical(Object other)

+    {

+           if (other instanceof 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>)

+           {

+                  
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf> that = 
(<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>) other;

+                  boolean lEquals = true;

+                  <XDtEjbPersistent:forAllPersistentFields superclasses="true" 
valueobject="<XDtEjbValueObj:valueObjectMatch/>" not-pk="true">

+                 <XDtType:ifIsPrimitive value="<XDtMethod:methodType/>">

+                  lEquals = lEquals && this.<XDtMethod:propertyName/> == 
that.<XDtMethod:propertyName/>;

+                 </XDtType:ifIsPrimitive>

+                 <XDtType:ifIsNotPrimitive value="<XDtMethod:methodType/>">

+                  if( this.<XDtMethod:propertyName/> == null )

+                  {

+                         lEquals = lEquals && ( that.<XDtMethod:propertyName/> 
== null );

+                  }

+                  else

+                  {

+                         lEquals = lEquals && 
this.<XDtMethod:propertyName/>.equals( that.<XDtMethod:propertyName/> );

+                  }

+                 </XDtType:ifIsNotPrimitive>

+                  </XDtEjbPersistent:forAllPersistentFields>

+                  <XDtEjbValueObj:forAllRelations superclasses="false" 
valueobject="<XDtEjbValueObj:valueObjectMatch/>">

+                   <XDtMethod:ifDoesntHaveMethodTag tagName="ejb:value-object" 
paramName="type">

+                  if( this.<XDtEjbValueObj:currentAggregateName/> == null )

+                  {

+                         lEquals = lEquals && ( 
that.<XDtEjbValueObj:currentAggregateName/> == null );

+                  }

+                  else

+                  {

+                         lEquals = lEquals && 
this.<XDtEjbValueObj:currentAggregateName/>.equals( 
that.<XDtEjbValueObj:currentAggregateName/> );

+                  }

+                   </XDtMethod:ifDoesntHaveMethodTag>

+                   <XDtMethod:ifHasMethodTag tagName="ejb:value-object" 
paramName="type">

+                  if( this.get<XDtEjbValueObj:currentAggregateName/>s() == 
null )

+                  {

+                         lEquals = lEquals && ( 
that.get<XDtEjbValueObj:currentAggregateName/>s() == null );

+                  }

+                  else

+                  {

+                         lEquals = lEquals && 
java.util.Arrays.equals(this.get<XDtEjbValueObj:currentAggregateName/>s() , 
that.get<XDtEjbValueObj:currentAggregateName/>s()) ;

+                  }

+                   </XDtMethod:ifHasMethodTag>

+                  </XDtEjbValueObj:forAllRelations>

+ 

+                  return lEquals;

+           }

+           else

+           {

+                  return false;

+           }

+    }

+ 

+ 

+ 

      public <XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="synchronization" value="full">synchronized 
</XDtClass:ifClassTagValueEquals>boolean equals(Object other) {

  

***************
*** 895,899 ****
      implements java.lang.Cloneable, 
java.io.Serializable<XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="ordering" value="strict">, 
java.lang.Comparable</XDtClass:ifClassTagValueEquals> 
<XDtEjbValueObj:valueObjectImplements/>

      {

!         private 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf> 
getUnderlying() {

              return 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>.this;

          }

--- 953,957 ----
      implements java.lang.Cloneable, 
java.io.Serializable<XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="ordering" value="strict">, 
java.lang.Comparable</XDtClass:ifClassTagValueEquals> 
<XDtEjbValueObj:valueObjectImplements/>

      {

!         private 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf> 
underlying() {

              return 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>.this;

          }

***************
*** 902,906 ****
         <XDtEjbPersistent:forAllPersistentFields superclasses="true" 
valueobject="<XDtEjbValueObj:valueObjectMatch/>">

         public <XDtMethod:methodType/> <XDtMethod:getterMethod/>() {

!               return 
<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>.this.<XDtMethod:propertyName/>;

         }

  

--- 960,964 ----
         <XDtEjbPersistent:forAllPersistentFields superclasses="true" 
valueobject="<XDtEjbValueObj:valueObjectMatch/>">

         public <XDtMethod:methodType/> <XDtMethod:getterMethod/>() {

!               return underlying().<XDtMethod:propertyName/>;

         }

  

***************
*** 910,935 ****
         public <XDtEjbValueObj:currentAggregateType/> 
get<XDtEjbValueObj:currentAggregateName/>()

         {

!               return getUnderlying().<XDtEjbValueObj:currentAggregateName/>;

         }

           </XDtEjbValueObj:ifIsNotCollection>

           <XDtEjbValueObj:ifIsCollection>

         public <XDtEjbValueObj:collectionType/> 
getAdded<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
getUnderlying().getAdded<XDtEjbValueObj:currentAggregateName plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getOnceAdded<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
getUnderlying().getOnceAdded<XDtEjbValueObj:currentAggregateName 
plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getRemoved<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
getUnderlying().getRemoved<XDtEjbValueObj:currentAggregateName 
plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getUpdated<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
getUnderlying().getUpdated<XDtEjbValueObj:currentAggregateName 
plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
get<XDtEjbValueObj:currentAggregateName/>Collection()  {

!             return 
getUnderlying().get<XDtEjbValueObj:currentAggregateName/>Collection(); 

         }

             </XDtEjbValueObj:ifIsCollection>

          </XDtEjbValueObj:forAllRelations>

  

          <XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="ordering" value="strict">

  

--- 968,1015 ----
         public <XDtEjbValueObj:currentAggregateType/> 
get<XDtEjbValueObj:currentAggregateName/>()

         {

!               return underlying().<XDtEjbValueObj:currentAggregateName/>;

         }

           </XDtEjbValueObj:ifIsNotCollection>

           <XDtEjbValueObj:ifIsCollection>

         public <XDtEjbValueObj:collectionType/> 
getAdded<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return underlying().getAdded<XDtEjbValueObj:currentAggregateName 
plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getOnceAdded<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
underlying().getOnceAdded<XDtEjbValueObj:currentAggregateName 
plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getRemoved<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
underlying().getRemoved<XDtEjbValueObj:currentAggregateName plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
getUpdated<XDtEjbValueObj:currentAggregateName plural="true"/>() {

!             return 
underlying().getUpdated<XDtEjbValueObj:currentAggregateName plural="true"/>(); 

         }

         public <XDtEjbValueObj:collectionType/> 
get<XDtEjbValueObj:currentAggregateName/>Collection()  {

!             return 
underlying().get<XDtEjbValueObj:currentAggregateName/>Collection(); 

         }

             </XDtEjbValueObj:ifIsCollection>

          </XDtEjbValueObj:forAllRelations>

  

+         public int hashCode() {

+             return 101 * underlying().hashCode();

+         }

+ 

+         public boolean equals(Object o) {

+         

+             if(o instanceof 
ReadOnly<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>)
 {

+                 return 
this.equals((ReadOnly<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>)
 o);

+             }

+             

+             return false;

+         }

+ 

+         public boolean 
equals(ReadOnly<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>
 that) {

+             if(null == that) {

+                 return false;

+             }

+ 

+             return this.underlying().equals(that.underlying());

+         }

+         

+ 

          <XDtClass:ifClassTagValueEquals tagName="ejb:value-object" 
paramName="ordering" value="strict">

  

***************
*** 964,968 ****
           */

          public int 
compareTo(ReadOnly<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>
 that) {

!             return getUnderlying().compareTo(that.getUnderlying());

          }

  

--- 1044,1048 ----
           */

          public int 
compareTo(ReadOnly<XDtClass:classOf><XDtEjbValueObj:valueObjectClass/></XDtClass:classOf>
 that) {

!             return underlying().compareTo(that.underlying());

          }

  




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
xdoclet-devel mailing list
xdoclet-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/xdoclet-devel

Reply via email to