You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Brian Minchau <mi...@ca.ibm.com> on 2004/01/13 00:05:27 UTC

public to non-public in Xalan-J serializer - any impact?




I'm planning to make some changes to the access of some classes and
interfaces in Xalan's serializer (org.apache.xml.serializer). I'm looking
for feedback if these changes would impact anyone.

There are a number of classes and interfaces in the package
org.apache.xml.serializer that are "public" but not intentionally public.
I'd just like to see the serializer code used only in an intentionally
"public" manner.

The reason that I'd like to see this change is that the serializer is
slowly changing into a separate component in the XSLT 2.0 draft. There is
no formal interface defined for it yet, but when the day comes it would be
nice if its internals could easily change to meet the recommendation.  Also
I think it benefits everyone if the core of this package can change for
other reasons ( like performance !) with no impact to users.  This is only
possible if the "public" classes and interfaces are kept to a minimum.

Here is what I am thinking of:

"public" classes that stay "public", and this should be all anyone needs:
============================================================
- DOMSerializer
- OutputPropertiesFactory
- Serializer
- SerializerFactory



"public" classes I think should become package-private
 (i.e. no "public" modifier on the class or interface,technically this is
Java's default access)
and nobody should be using these directly (right?)
============================================
- AttributesImplSerializer
- EncodingInfo
- ExtendedContentHandler
- ExtendedLexicalHandler
- NamespaceMappings
- OutputPropertyUtils
- SerializerBase
- SerializerConstants
- ToHTMLSAXHandler
- ToSAXHandler
- ToStream
- ToTextSAXHandler
- ToUnknownStream
- ToXMLSAXHandler
- WriterToASCI
- WriterToUTF8Buffered
- XSLOutputAttributes

"public" classes that I'd like to see become package-private.
Is anyone using these directly?
This is my area of greatest concern so it will probably be left as
"public".
==========================================================
- ToHTMLStream
- ToTextStream
- ToXMLStream




Brian Minchau
XSLT Development, IBM Toronto
e-mail:        minchau@ca.ibm.com