ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] Updated: (AXIOM-353) Need a replacement for OMXMLBuilderFactory
Date Tue, 30 Nov 2010 09:05:10 GMT

     [ https://issues.apache.org/jira/browse/AXIOM-353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andreas Veithen updated AXIOM-353:
----------------------------------

    Description: 
Historically, org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory was used to create
Axiom trees from XML documents (and there are still places in Axis2 where this is used). Unfortunately,
this class is located in the wrong package and JAR (it is implementation independent but belongs
to LLOM). Nowadays, the standard way to create an Axiom tree is to instantiate StAXOMBuilder
or one of its subclasses directly. However, this is not optimal for two reasons:

* It implies the assumption that every implementation of the Axiom API necessarily uses StAXOMBuilder.
This means that an implementation doesn't have the freedom to provide its own builder implementation
(e.g. in order to implement some special optimizations).

* StAXOMBuilder belongs to a package which has "impl" in its name. This tends to blur the
distinction between the public API and internal implementation classes.

There should be an abstract API for creating builder instances. It should be defined in terms
of interfaces (such as OMXMLParserWrapper). OMMetaFactory is a good candidate for this because
it is already used to encapsulate an implementation of the Axiom API (there is one implementation
of OMMetaFactory for LLOM and one for DOOM).

  was:Historically, org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory was used to
create Axiom trees from XML documents (and there are still places in Axis2 where this is used).
Unfortunately, this class is located in the wrong package and JAR (it is implementation independent
but belongs to LLOM). Nowadays, the standard way to create an Axiom tree is to instantiate
StAXOMBuilder or one of its subclasses directly. However, this is not optimal because it implies
the assumption that every implementation of the Axiom API necessarily uses StAXOMBuilder.
This means that an implementation doesn't have the freedom to provide its own builder implementation
(e.g. in order to implement some special optimizations). There should be an abstract API for
this. OMMetaFactory is a good candidate because it is already used to encapsulate an implementation
of the Axiom API (there is one implementation of OMMetaFactory for LLOM and one for DDOM).


> Need a replacement for OMXMLBuilderFactory
> ------------------------------------------
>
>                 Key: AXIOM-353
>                 URL: https://issues.apache.org/jira/browse/AXIOM-353
>             Project: Axiom
>          Issue Type: Improvement
>          Components: API
>            Reporter: Andreas Veithen
>
> Historically, org.apache.axiom.om.impl.llom.factory.OMXMLBuilderFactory was used to create
Axiom trees from XML documents (and there are still places in Axis2 where this is used). Unfortunately,
this class is located in the wrong package and JAR (it is implementation independent but belongs
to LLOM). Nowadays, the standard way to create an Axiom tree is to instantiate StAXOMBuilder
or one of its subclasses directly. However, this is not optimal for two reasons:
> * It implies the assumption that every implementation of the Axiom API necessarily uses
StAXOMBuilder. This means that an implementation doesn't have the freedom to provide its own
builder implementation (e.g. in order to implement some special optimizations).
> * StAXOMBuilder belongs to a package which has "impl" in its name. This tends to blur
the distinction between the public API and internal implementation classes.
> There should be an abstract API for creating builder instances. It should be defined
in terms of interfaces (such as OMXMLParserWrapper). OMMetaFactory is a good candidate for
this because it is already used to encapsulate an implementation of the Axiom API (there is
one implementation of OMMetaFactory for LLOM and one for DOOM).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org


Mime
View raw message