Ignore:
Timestamp:
2016-01-09T23:20:37+01:00 (8 years ago)
Author:
simon04
Message:

Java 7: use Objects.equals and Objects.hash

Location:
trunk/src/org/openstreetmap/josm/data/osm
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/BBox.java

    r9243 r9371  
    44import java.awt.geom.Rectangle2D;
    55import java.util.Arrays;
     6import java.util.Objects;
    67
    78import org.openstreetmap.josm.data.coor.LatLon;
  • trunk/src/org/openstreetmap/josm/data/osm/Changeset.java

    r8840 r9371  
    99import java.util.List;
    1010import java.util.Map;
     11import java.util.Objects;
    1112
    1213import org.openstreetmap.josm.data.Bounds;
     
    278279    @Override
    279280    public int hashCode() {
    280         if (id > 0)
    281             return id;
    282         else
    283             return super.hashCode();
     281        return Objects.hash(id);
    284282    }
    285283
    286284    @Override
    287285    public boolean equals(Object obj) {
    288         if (this == obj)
    289             return true;
    290         if (obj == null)
    291             return false;
    292         if (getClass() != obj.getClass())
    293             return false;
    294         Changeset other = (Changeset) obj;
    295         if (this.id > 0 && other.id == this.id)
    296             return true;
    297         return this == obj;
     286        if (this == obj) return true;
     287        if (obj == null || getClass() != obj.getClass()) return false;
     288        Changeset changeset = (Changeset) obj;
     289        return id == changeset.id;
    298290    }
    299291
  • trunk/src/org/openstreetmap/josm/data/osm/OsmPrimitive.java

    r9268 r9371  
    1717import java.util.Locale;
    1818import java.util.Map;
     19import java.util.Objects;
    1920import java.util.Set;
    2021
     
    13201321    @Override
    13211322    public boolean equals(Object obj) {
    1322         if (obj instanceof OsmPrimitive)
    1323             return ((OsmPrimitive) obj).id == id && obj.getClass() == getClass();
    1324         return false;
     1323        if (this == obj) return true;
     1324        if (obj == null || getClass() != obj.getClass()) return false;
     1325        OsmPrimitive that = (OsmPrimitive) obj;
     1326        return Objects.equals(id, that.id);
    13251327    }
    13261328
     
    13311333     */
    13321334    @Override
    1333     public final int hashCode() {
    1334         return (int) id;
     1335    public int hashCode() {
     1336        return Objects.hash(id);
    13351337    }
    13361338
  • trunk/src/org/openstreetmap/josm/data/osm/RelationMember.java

    r8510 r9371  
    33
    44import java.util.Arrays;
     5import java.util.Objects;
    56
    67import org.openstreetmap.josm.tools.CheckParameterUtil;
     
    165166    @Override
    166167    public int hashCode() {
    167         final int prime = 31;
    168         int result = 1;
    169         result = prime * result + member.hashCode();
    170         result = prime * result + role.hashCode();
    171         return result;
     168        return Objects.hash(role, member);
    172169    }
    173170
    174171    @Override
    175172    public boolean equals(Object obj) {
    176         if (obj instanceof RelationMember) {
    177             RelationMember other = (RelationMember) obj;
    178             return member.equals(other.getMember()) && role.equals(other.getRole());
    179         } else
    180             return false;
     173        if (this == obj) return true;
     174        if (obj == null || getClass() != obj.getClass()) return false;
     175        RelationMember that = (RelationMember) obj;
     176        return Objects.equals(role, that.role) &&
     177                Objects.equals(member, that.member);
    181178    }
    182179
  • trunk/src/org/openstreetmap/josm/data/osm/RelationMemberData.java

    r8846 r9371  
    11// License: GPL. For details, see LICENSE file.
    22package org.openstreetmap.josm.data.osm;
     3
     4import java.util.Objects;
    35
    46public class RelationMemberData implements PrimitiveId {
     
    6264    @Override
    6365    public int hashCode() {
    64         final int prime = 31;
    65         int result = 1;
    66         result = prime * result + (int) (memberId ^ (memberId >>> 32));
    67         result = prime * result
    68                 + ((memberType == null) ? 0 : memberType.hashCode());
    69         result = prime * result + ((role == null) ? 0 : role.hashCode());
    70         return result;
     66        return Objects.hash(role, memberId, memberType);
    7167    }
    7268
    7369    @Override
    7470    public boolean equals(Object obj) {
    75         if (this == obj)
    76             return true;
    77         if (obj == null)
    78             return false;
    79         if (getClass() != obj.getClass())
    80             return false;
    81         RelationMemberData other = (RelationMemberData) obj;
    82         if (memberId != other.memberId)
    83             return false;
    84         if (memberType != other.memberType)
    85             return false;
    86         if (role == null) {
    87             if (other.role != null)
    88                 return false;
    89         } else if (!role.equals(other.role))
    90             return false;
    91         return true;
     71        if (this == obj) return true;
     72        if (obj == null || getClass() != obj.getClass()) return false;
     73        RelationMemberData that = (RelationMemberData) obj;
     74        return memberId == that.memberId &&
     75                Objects.equals(role, that.role) &&
     76                memberType == that.memberType;
    9277    }
    9378}
  • trunk/src/org/openstreetmap/josm/data/osm/RelationToChildReference.java

    r9067 r9371  
    44import java.util.Collection;
    55import java.util.HashSet;
     6import java.util.Objects;
    67import java.util.Set;
    78
     
    7879
    7980    @Override
    80     public int hashCode() {
    81         final int prime = 31;
    82         int result = 1;
    83         result = prime * result + ((child == null) ? 0 : child.hashCode());
    84         result = prime * result + ((parent == null) ? 0 : parent.hashCode());
    85         result = prime * result + position;
    86         result = prime * result + ((role == null) ? 0 : role.hashCode());
    87         return result;
     81    public boolean equals(Object obj) {
     82        if (this == obj) return true;
     83        if (obj == null || getClass() != obj.getClass()) return false;
     84        RelationToChildReference that = (RelationToChildReference) obj;
     85        return position == that.position &&
     86                Objects.equals(parent, that.parent) &&
     87                Objects.equals(role, that.role) &&
     88                Objects.equals(child, that.child);
    8889    }
    8990
    9091    @Override
    91     public boolean equals(Object obj) {
    92         if (this == obj)
    93             return true;
    94         if (obj == null)
    95             return false;
    96         if (getClass() != obj.getClass())
    97             return false;
    98         RelationToChildReference other = (RelationToChildReference) obj;
    99         if (child == null) {
    100             if (other.child != null)
    101                 return false;
    102         } else if (!child.equals(other.child))
    103             return false;
    104         if (parent == null) {
    105             if (other.parent != null)
    106                 return false;
    107         } else if (!parent.equals(other.parent))
    108             return false;
    109         if (position != other.position)
    110             return false;
    111         if (role == null) {
    112             if (other.role != null)
    113                 return false;
    114         } else if (!role.equals(other.role))
    115             return false;
    116         return true;
     92    public int hashCode() {
     93        return Objects.hash(parent, position, role, child);
    11794    }
    11895}
  • trunk/src/org/openstreetmap/josm/data/osm/SimplePrimitiveId.java

    r8496 r9371  
    55import java.util.ArrayList;
    66import java.util.List;
     7import java.util.Objects;
    78import java.util.regex.MatchResult;
    89import java.util.regex.Matcher;
     
    4243    @Override
    4344    public int hashCode() {
    44         final int prime = 31;
    45         int result = 1;
    46         result = prime * result + (int) (id ^ (id >>> 32));
    47         result = prime * result + ((type == null) ? 0 : type.hashCode());
    48         return result;
     45        return Objects.hash(id, type);
    4946    }
    5047
    5148    @Override
    5249    public boolean equals(Object obj) {
    53         if (this == obj)
    54             return true;
    55         if (obj == null)
    56             return false;
    57         if (getClass() != obj.getClass())
    58             return false;
    59         SimplePrimitiveId other = (SimplePrimitiveId) obj;
    60         if (id != other.id)
    61             return false;
    62         if (type == null) {
    63             if (other.type != null)
    64                 return false;
    65         } else if (!type.equals(other.type))
    66             return false;
    67         return true;
     50        if (this == obj) return true;
     51        if (obj == null || getClass() != obj.getClass()) return false;
     52        SimplePrimitiveId that = (SimplePrimitiveId) obj;
     53        return id == that.id &&
     54                type == that.type;
    6855    }
    6956
  • trunk/src/org/openstreetmap/josm/data/osm/Tag.java

    r8846 r9371  
    11// License: GPL. For details, see LICENSE file.
    22package org.openstreetmap.josm.data.osm;
     3
     4import java.util.Objects;
    35
    46import org.openstreetmap.josm.tools.CheckParameterUtil;
     
    8486    @Override
    8587    public int hashCode() {
    86         final int prime = 31;
    87         int result = 1;
    88         result = prime * result + key.hashCode();
    89         result = prime * result + value.hashCode();
    90         return result;
     88        return Objects.hash(key, value);
    9189    }
    9290
    9391    @Override
    9492    public boolean equals(Object obj) {
    95         if (obj instanceof Tag) {
    96             Tag other = (Tag) obj;
    97             return key.equals(other.getKey()) && value.equals(other.getValue());
    98         } else
    99             return false;
     93        if (this == obj) return true;
     94        if (obj == null || getClass() != obj.getClass()) return false;
     95        Tag tag = (Tag) obj;
     96        return Objects.equals(key, tag.key) &&
     97                Objects.equals(value, tag.value);
    10098    }
    10199
  • trunk/src/org/openstreetmap/josm/data/osm/User.java

    r9243 r9371  
    99import java.util.List;
    1010import java.util.Map;
     11import java.util.Objects;
    1112import java.util.Set;
    1213
     
    219220    @Override
    220221    public int hashCode() {
    221         final int prime = 31;
    222         int result = 1;
    223         result = prime * result + getName().hashCode();
    224         result = prime * result + (int) (uid ^ (uid >>> 32));
    225         return result;
     222        return Objects.hash(uid);
    226223    }
    227224
    228225    @Override
    229226    public boolean equals(Object obj) {
    230         if (!(obj instanceof User))
    231             return false;
    232         User other = (User) obj;
    233         if (uid != other.uid)
    234             return false;
    235         return true;
     227        if (this == obj) return true;
     228        if (obj == null || getClass() != obj.getClass()) return false;
     229        User user = (User) obj;
     230        return uid == user.uid;
    236231    }
    237232
  • trunk/src/org/openstreetmap/josm/data/osm/WaySegment.java

    r9243 r9371  
    33
    44import java.awt.geom.Line2D;
     5import java.util.Objects;
    56
    67/**
     
    7980    @Override
    8081    public boolean equals(Object o) {
    81         return o instanceof WaySegment
    82             && ((WaySegment) o).way == way
    83             && ((WaySegment) o).lowerIndex == lowerIndex;
     82        if (this == o) return true;
     83        if (o == null || getClass() != o.getClass()) return false;
     84        WaySegment that = (WaySegment) o;
     85        return lowerIndex == that.lowerIndex &&
     86                Objects.equals(way, that.way);
    8487    }
    8588
    8689    @Override
    8790    public int hashCode() {
    88         return way.hashCode() ^ lowerIndex;
     91        return Objects.hash(way, lowerIndex);
    8992    }
    9093
  • trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java

    r9059 r9371  
    55import java.util.Arrays;
    66import java.util.List;
     7import java.util.Objects;
    78import java.util.Queue;
    89import java.util.concurrent.CopyOnWriteArrayList;
     
    115116        @Override
    116117        public int hashCode() {
    117             return listener.hashCode();
     118            return Objects.hash(listener);
    118119        }
    119120
    120121        @Override
    121122        public boolean equals(Object o) {
    122             return o instanceof ListenerInfo && ((ListenerInfo) o).listener == listener;
     123            if (this == o) return true;
     124            if (o == null || getClass() != o.getClass()) return false;
     125            ListenerInfo that = (ListenerInfo) o;
     126            return Objects.equals(listener, that.listener);
    123127        }
    124128    }
  • trunk/src/org/openstreetmap/josm/data/osm/event/SelectionEventManager.java

    r8836 r9371  
    44import java.util.Collection;
    55import java.util.List;
     6import java.util.Objects;
    67import java.util.concurrent.CopyOnWriteArrayList;
    78
     
    3536        @Override
    3637        public int hashCode() {
    37             return listener.hashCode();
     38            return Objects.hash(listener);
    3839        }
    3940
    4041        @Override
    4142        public boolean equals(Object o) {
    42             return o instanceof ListenerInfo && ((ListenerInfo) o).listener == listener;
     43            if (this == o) return true;
     44            if (o == null || getClass() != o.getClass()) return false;
     45            ListenerInfo that = (ListenerInfo) o;
     46            return Objects.equals(listener, that.listener);
    4347        }
    4448    }
  • trunk/src/org/openstreetmap/josm/data/osm/history/HistoryOsmPrimitive.java

    r8846 r9371  
    1010import java.util.Locale;
    1111import java.util.Map;
     12import java.util.Objects;
    1213
    1314import org.openstreetmap.josm.data.osm.Changeset;
     
    249250    @Override
    250251    public int hashCode() {
    251         final int prime = 31;
    252         int result = 1;
    253         result = prime * result + (int) (id ^ (id >>> 32));
    254         result = prime * result + (int) (version ^ (version >>> 32));
    255         return result;
     252        return Objects.hash(id, version);
    256253    }
    257254
    258255    @Override
    259256    public boolean equals(Object obj) {
    260         if (this == obj)
    261             return true;
    262         if (!(obj instanceof HistoryOsmPrimitive))
    263             return false;
    264         // equal semantics is valid for subclasses like {@link HistoryOsmNode} etc. too.
    265         // So, don't enforce equality of class.
    266         HistoryOsmPrimitive other = (HistoryOsmPrimitive) obj;
    267         if (id != other.id)
    268             return false;
    269         if (version != other.version)
    270             return false;
    271         return true;
     257        if (this == obj) return true;
     258        if (obj == null || getClass() != obj.getClass()) return false;
     259        HistoryOsmPrimitive that = (HistoryOsmPrimitive) obj;
     260        return id == that.id &&
     261                version == that.version;
    272262    }
    273263
Note: See TracChangeset for help on using the changeset viewer.