Ignore:
Timestamp:
2016-02-01T23:47:27+01:00 (10 years ago)
Author:
simon04
Message:

see #12300 - Provide wrapper classes for transfer data to avoid unchecked casts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/datatransfer/RelationMemberTransferable.java

    r9563 r9711  
    1919
    2020    /**
    21      * Data flavor for {@link RelationMemberData}.
     21     * A wrapper for a collection of {@link RelationMemberData}.
    2222     */
    23     public static final DataFlavor RELATION_MEMBER_DATA = new DataFlavor(RelationMemberData.class, RelationMemberData.class.getName());
     23    public static final class Data {
     24        private final Collection<RelationMemberData> relationMemberDatas;
     25
     26        private Data(Collection<RelationMemberData> primitiveData) {
     27            this.relationMemberDatas = primitiveData;
     28        }
     29
     30        /**
     31         * Returns the contained {@link RelationMemberData}
     32         * @return the contained {@link RelationMemberData}
     33         */
     34        public Collection<RelationMemberData> getRelationMemberData() {
     35            return relationMemberDatas;
     36        }
     37    }
     38
     39    /**
     40     * Data flavor for {@link RelationMemberData} which is wrapped in {@link Data}.
     41     */
     42    public static final DataFlavor RELATION_MEMBER_DATA = new DataFlavor(Data.class, Data.class.getName());
    2443    private final Collection<RelationMember> members;
    2544
     
    6483    }
    6584
    66     protected Collection<RelationMemberData> getRelationMemberData() {
     85    protected Data getRelationMemberData() {
    6786        final Collection<RelationMemberData> r = new ArrayList<>(members.size());
    6887        for (RelationMember member : members) {
    6988            r.add(new RelationMemberData(member.getRole(), member.getType(), member.getUniqueId()));
    7089        }
    71         return r;
     90        return new Data(r);
    7291    }
    7392}
Note: See TracChangeset for help on using the changeset viewer.