Thanks,

I'm adding a detector (http://fb-contrib.sourceforge.net/) for use of internal 
classes in code. I added com.sun.*** detection, and decided it probably would 
be a good idea to add detection of common 3rdparty apis as well.

thanks for the info.
dave

-----Original Message-----
From: kesh...@us.ibm.com
Sent: Monday, February 23, 2009 9:58am
To: xalan-j-users@xml.apache.org
Subject: Re: Internal Xalan packages

> > Everything that is declared "public"
and documented under

> > "org.apache.xalan" may be used. Otherwise, I'd say,
it wouldn't

> > be public and documented.

> 

> That's not what the documentation says. See: [http://xml.apache.org/] 
> http://xml.apache.org/

> xalan-j/public_apis.html



Unfortunately, the Java language sometimes requires
that things be made public for code-design reasons (inter-package access
in the absence of C++-style "friend" packages) even though they
are not intended for use by anyone outside that codebase.



So don't rely on the public declaration in the source.
Look at the documentation. If you can't reach it through the official APIs,
don't count on it remaining stable or handling data other than the subset
needed by the original designers.



If you think there's a widespread need for something,
you can try to make a case for it being officially exposed, or indeed refactored
all the way out info a utilities package. Sometimes there are reasons such
as performance which argue against that, but in general promoting code
reuse is a good thing ... when it makes sense.



If you're desperate -- well, Xalan is open-source,
so subject to the usual Apache license (which IIRC basically means visibly
giving Apache credit, but I Am Not A Lawyer) you could copy the code you're
interested in into your own system. Then you'd have a stable copy, though
of course you'd have to maintain it yourself.

Reply via email to