×
The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.
I'm talking about if the AS400Message class was renamed in order to
maintain product branding (i.e., rename it to IBMiMessage).
</David>
interesting idea! renaming all AS400 inside jt400 to IbmI (LOL)! I didn't
really think of this.
Let it use as an example to discuss the backwards compatibility mechanism of
java:
First of all: only public (and protected) components are visible outside
jt400. All internal components are not important for compatibility reasons.
If you want to change the name of AS400Message class in IBMiMessage class,
AS400Message class is duplicated and the copy is named IBMiMessage. Under
the cover they should share the same code, one would act as a wrapper for
the other. Now AS400Message class is declared as deprecated by an
Annotation, some sort of compiler instruction. Nothing has happened to
running applications, they will work as designed. Compiling old or new code,
the deprecated marking will throw a Compiler warning (with this warning you
could place a hint to the new class). This warning could be surpressed by a
compiler directive @SuppressWarnings("deprecation"). Another important
diffrence between Java and RPG is, how the compiler is working. The Java
Compiler, used in Eclipse (or other IDEs) compiles the complete project
incremental. Every line of code is compiled immediately and warnings and
errors are reported from the compiler to the IDE and shown to the user.
Furthermore Eclipse has a little context menu "Refactor" with an option
"rename" this could rename a component within the complete project and the
Compiler will report all resulting problems to the IDE. Eclipse will show
these errors and warnings to the programmer.
There is another mechanism: package naming. There is a convention all
software should follow (and 99.9% are doing). All package names are starting
with the reverse url of the author (e.g.: All my packages are starting with
de.bender-dv), the core language packages are starting with java. As all
components are interal handled qualified by packagename, this would
guarantee that there are no naming conflicts. New classes of the core
language and using multiple libraries from diffrent vendors, couldn't
interact with each other.
Java came out 1995, nearly 25 years ago and well written Java code form the
first days would work as designed up to now and it will work as long as a
box has a JVM.
D*B
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact
[javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.