Bug 264463 - ValidationFramework provisional API exposes internal classes
Summary: ValidationFramework provisional API exposes internal classes
Status: NEW
Alias: None
Product: WTP Common Tools
Classification: WebTools
Component: wst.validation (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: Future   Edit
Assignee: wst.validation CLA
QA Contact: Chuck Bridgham CLA
URL: ORACLE_P2
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-02-10 22:30 EST by Nadeem Aboobaker CLA
Modified: 2009-10-08 13:18 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nadeem Aboobaker CLA 2009-02-10 22:30:28 EST
Build ID: M20090204-1400

Steps To Reproduce:
Previously, the validation framework did not provide an easy way to get and manipulate the state of validators.  The only way to do this was to use internal classes that could potentially (and did) change between releases.  The introduction of the ValidationFramework class as a Provisional API is a step in the right direction.  However, some of the previous problems with using internal classes remain as the ValidationFramework and associated classes expose internal classes:
- MutableWorkspaceSettings exposes GlobalPreferencesValues
- ValidationResult exposes ValidationException, IReporter
- ValidationFramework exposes DependencyIndex, ProjectUnavailableError, IReporter
- Validator.V1 exposes ValidatorMetaData
- Validator exposes FilterGroup, IValidator (this does not inlcude instances of public methods of Validator that take internal classes as arguments)

According to http://wiki.eclipse.org/WTP_API_Policy, Provsional API will not change on a release or maintenance release and internal API can be changed at anytime. However, it seems to me that a Provisional API that returns internal classes is not really Provisional API, because the API can be broken if an exposed internal class is changed/moved/removed.

More information: