]> SALOME platform Git repositories - tools/siman.git/blobdiff - Workspace/Siman-Common/src/org/splat/service/dto/KnowledgeElementTypeDTO.java
Salome HOME
Modifications done to respect PMD rules. Versioning a document is fixed. Validation...
[tools/siman.git] / Workspace / Siman-Common / src / org / splat / service / dto / KnowledgeElementTypeDTO.java
index 48cec3b49746812f4616d029c9c819abef1f9a86..e6ea1b3eb5184b1fe91c9e18452801325203306e 100644 (file)
@@ -10,11 +10,11 @@ public class KnowledgeElementTypeDTO {
        /**
         * Type name.
         */
-       private String name;
+       private String _name;
        /**
         * Persistent id of the type.
         */
-       private long rid;
+       private long _index;
 
        // ==============================================================================================================================
        // Public member functions
@@ -25,32 +25,47 @@ public class KnowledgeElementTypeDTO {
         * 
         * @see java.lang.Object#equals(java.lang.Object)
         */
-       public boolean equals(Object entity) {
-               if (entity == null)
-                       return false;
-               if (entity instanceof String) {
-                       return this.name.equals((String) entity); // Names are unique
-               } else if (entity instanceof KnowledgeElementTypeDTO) {
-                       KnowledgeElementTypeDTO object = (KnowledgeElementTypeDTO) entity;
-                       long he = object.getIndex();
-                       long me = this.getIndex();
-                       if (me * he != 0) {
-                               return (he == me);
-                       } else {
-                               return this.getName().equals(object.getName());
+       @Override
+       public boolean equals(final Object entity) {
+               boolean res = (entity != null);
+               if (res) {
+                       if (entity instanceof String) {
+                               res = this._name.equals(entity); // Names are unique
+                       } else if (entity instanceof KnowledgeElementTypeDTO) {
+                               KnowledgeElementTypeDTO object = (KnowledgeElementTypeDTO) entity;
+                               long he = object.getIndex();
+                               long me = this.getIndex();
+                               if (me * he == 0) {
+                                       res = this.getName().equals(object.getName());
+                               } else {
+                                       res = (he == me);
+                               }
                        }
-               } else {
-                       return false;
                }
+               return res;
        }
 
+       /** 
+        * {@inheritDoc}
+        * @see java.lang.Object#hashCode()
+        */
+       @Override
+       public int hashCode() {
+               long oid = getIndex(); // getIndex() is supposed fetching the index if not yet done
+               if (oid == 0) {
+                       oid = super.hashCode(); // WARNING: Must not call super.toString() as it goes back here (this.toString())
+               }
+               return new StringBuffer("object ").append(getClass().getName()).append(
+                               "@").append(oid).toString().hashCode();
+       }
+       
        /**
         * Get the name of the knowledge type.
         * 
         * @return the type name
         */
        public String getName() {
-               return name;
+               return _name;
        }
 
        /**
@@ -59,7 +74,7 @@ public class KnowledgeElementTypeDTO {
         * @return the rid
         */
        public long getIndex() {
-               return rid;
+               return _index;
        }
 
        /**
@@ -68,15 +83,15 @@ public class KnowledgeElementTypeDTO {
         * @param rid
         *            the rid to set
         */
-       public void setIndex(long rid) {
-               this.rid = rid;
+       public void setIndex(final long rid) {
+               this._index = rid;
        }
 
        /**
         * Set the name.
         * @param name the name to set
         */
-       public void setName(String name) {
-               this.name = name;
+       public void setName(final String name) {
+               this._name = name;
        }
 }
\ No newline at end of file