DDS-Java 1.0b2 FTF Avatar
  1. OMG Issue

DDSJAVA — duplicate put definition resulting in a name clash

  • Key: DDSJAVA-3
  • Legacy Issue Number: 16050
  • Status: closed  
  • Source: Thales ( Andre Bonhof)
  • Summary:

    The ModifiableEntityQos contains put() definition that, after type erasure, cannot be distinguished from the inherited put definition in EntityQos (or the one inherited from Map) resulting in duplicate definitions of put: QosPolicy<?,?> put(QosPolicy.Id, QosPolicy<?,?>)

    Possible ways to resolve this:

    ¬∑Drop the “extends Map” in EntityQos and put a dedicated get() in EntityQos and a dedicated put()/set() in ModifiableEntityQos and leave it up to the implementation on how to manage these values. This is the preferred solution as it prevents the user of the API to accidently use the Map inherited modification methods like put/remove/clear on a non-modifiable EntityQos.

    ·Modify the signature of put() in ModifiableEntityQos to match the inherited definitions in EntityQos and Map:

    public QosPolicy<?,?> put(QosPolicy.Id key, QosPolicy<?,?> value);

  • Reported: DDS-Java 1.0b1 — Thu, 10 Mar 2011 05:00 GMT
  • Disposition: Resolved — DDS-Java 1.0b2
  • Disposition Summary:

    See the modifications described below.

  • Updated: Fri, 6 Mar 2015 20:58 GMT