Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #37268
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Using main from abstract class in concrete class |
| Date | 2017-08-18 06:37 +0200 |
| Organization | Decebal Computing |
| Message-ID | <87valljxtp.fsf@munus.decebal.nl> (permalink) |
| References | <87h8xbx0ig.fsf@munus.decebal.nl> <ompnlf$7j6$1@dont-email.me> <87wp67v6of.fsf@munus.decebal.nl> <slrnopbpu1.o2q.avl@logic.at> |
Andreas Leitgeb <avl@logic.at> writes:
> Cecil Westerhof <Cecil@decebal.nl> wrote:
>> I do something like that now:
>> public class SQLite3 extends SQL {
>> // ################ main
>> public static void main(final String[] args) throws SQLException {
>> SQL.mainWork(SQLite3.class.getCanonicalName(), args);
>> }
>
> Why not change "mainWork" such, that it accepts a Class ref directly,
> rather than the canonical name?
>
> Maybe even simpler would be to have it accept a SQL ref and just pass
> it: new SQLite3()
>
> There is certainly more than one way to Rome.
The idea is that mainWork is always called from the main of a class.
But I can always ponder about this possibility.
Also I probably make AbstractSQL a concrete class named SQLWrapper.
>> I renamed main in the abstract class SQL to mainWork and removed
>> public.
>
> You might want to add "protected", so that derived classes even in
> other packages can still call it. "protected" is more permissive than
> default access.
It is something to think about. Is there a good reason to want derived
classes in another package?
I am thinking about changing AbstractSQL to SQLWrapper (and removing
abstract) and letting SQLWrapper be called with a URLPrefix, so it can
be used for databases where there is no concrete class for yet.
There are databases that can use in memory databases. For example
sqlite3 uses :memory:. I first had testDB.sqlite as database to test.
I am thinking about changing it to :memory:. Is that good enough, or
should I always check also for a stored database?
For sqlite3 I need to use (also) a ‘real’ database anyway, because I
need to check the lock functionality.
I have unit tests to test AbstractSQL, SQLResultSet and SQLStatement
(the classes I so far defined). I test those classes with the SQLite3
class. Is that good enough, or should they be tested with every
concrete class?
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-13 11:47 +0200
Re: Using main from abstract class in concrete class Andreas Leitgeb <avl@logic.at> - 2017-08-13 10:59 +0000
Re: Using main from abstract class in concrete class Andreas Leitgeb <avl@logic.at> - 2017-08-13 11:38 +0000
Re: Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-13 15:43 +0200
Re: Using main from abstract class in concrete class Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-08-13 10:32 -0400
Re: Using main from abstract class in concrete class Eric Sosman <esosman@comcast-dot-net.invalid> - 2017-08-13 10:37 -0400
Re: Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-13 17:17 +0200
Re: Using main from abstract class in concrete class Andreas Leitgeb <avl@logic.at> - 2017-08-17 18:56 +0000
Re: Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-18 06:37 +0200
Re: Using main from abstract class in concrete class Andreas Leitgeb <avl@logic.at> - 2017-08-18 19:48 +0000
Re: Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-18 23:37 +0200
Re: Using main from abstract class in concrete class Cecil Westerhof <Cecil@decebal.nl> - 2017-08-19 01:32 +0200
Re: Using main from abstract class in concrete class Joshua Cranmer 🐧 <Pidgeot18@verizon.invalid> - 2017-08-13 12:03 -0500
csiph-web