Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #38849

Re: DefaultTableModel.getDataVector() and Java 11

From Andreas Leitgeb <avl@logic.at>
Newsgroups comp.lang.java.programmer
Subject Re: DefaultTableModel.getDataVector() and Java 11
Date 2019-04-03 16:41 +0000
Organization A noiseless patient Spider
Message-ID <slrnqa9ohd.cfl.avl@logic.at> (permalink)
References <slrnqa9lo4.cfl.avl@logic.at> <q82ngd$u5p$1@newsreader4.netcologne.de>

Show all headers | View raw


Patrick Roemer <sangamon@netcologne.de> wrote:
> Responding to Andreas Leitgeb:
>> In Java up to 8  DefaultTableModel had a method  getDataVector()
>> that returned a raw Vector.
>> 
>> My application's custom TableModel overrode the method to return
>> a Vector<MyRowType>, where MyRowType provided direct type-safe
>> accessors for each column.
>> 
>> In Java 11 it seems to have changed to returning a Vector of 
>> raw Vectors.
>> 
>> At first glance this seems just goofy to me, because that doesn't
>> really make it type-safe (it still involves a raw type), and it even
>> prevents me from making it type-safe myself.
>> 
>> I hope, someone here can provide me with a second glance that
>> clarifies the rationale behind the change.
>
> API doc for this method in Java 8: "Returns the Vector of Vectors that
> contains the table's data values." There's quite a few occurrences of
> casts such as "(Vector)dataVector.elementAt(row)" in the
> DefaultTableModel code, too.
>
> So it seems that using another element type than Vector with
> DefaultTableModel has never really been a safe option, and the change
> only codifies to types what the contract has always been saying. Custom
> [Abstract]TableModel to the rescue...

Thanks a lot - it now makes sense with that background.

Will see what I really need beyond AbstractTableModel.

Back to comp.lang.java.programmer | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

DefaultTableModel.getDataVector() and Java 11 Andreas Leitgeb <avl@logic.at> - 2019-04-03 15:53 +0000
  Re: DefaultTableModel.getDataVector() and Java 11 Patrick Roemer <sangamon@netcologne.de> - 2019-04-03 18:37 +0200
    Re: DefaultTableModel.getDataVector() and Java 11 Andreas Leitgeb <avl@logic.at> - 2019-04-03 16:41 +0000
  Re: DefaultTableModel.getDataVector() and Java 11 Eric Sosman <esosman@comcast-dot-net.invalid> - 2019-04-03 12:44 -0400
    Re: DefaultTableModel.getDataVector() and Java 11 Andreas Leitgeb <avl@logic.at> - 2019-04-03 17:33 +0000
      Re: DefaultTableModel.getDataVector() and Java 11 Eric Douglas <e.d.programmer@gmail.com> - 2019-04-03 11:22 -0700
  Re: DefaultTableModel.getDataVector() and Java 11 Daniele Futtorovic <da.futt.news@laposte-dot-net.invalid> - 2019-04-03 18:49 +0200
  Re: DefaultTableModel.getDataVector() and Java 11 Eric Douglas <e.d.programmer@gmail.com> - 2019-04-03 10:34 -0700

csiph-web