tree 1e8c1a31ae6ea1ed0d8ef121e6287313e299b524
parent 7c3eb386577f45d62416dbc3509a2c6ff8082f9d
author Roland Grunberg <rgrunber@redhat.com> 1525283254 -0400
committer Roland Grunberg <rgrunber@redhat.com> 1533665743 -0400

Bug 535964 - Move some non UI classes from jface.text to o.e.text.

- Create TemplateReaderWriter, TemplatePersistenceData, and
ContextTypeRegistry in org.eclipse.text which extend the corresponding
classes from org.eclipse.jface.text in order the preserve the API for
the latter
- Make TemplateStore extend a new class TemplateStoreCore which will be
located in org.eclipse.text, and contain the non-UI functionality from
TemplateStore
- Introduce new constructor to the deprecated TemplatePersistenceData,
that takes an
org.eclipse.text.templates.TemplatePersistenceData and delegates all API
calls to it, if the object was constructed in this manner. Otherwise
calls are handled by the inheritted class. In some cases, even though we
use the new org.eclipse.text.templates.TemplatePersistenceData, the API
requires us to return the deprecated version of TemplatePersistenceData.
This satisfies the requirement while also ensuring the returned object
can be modified by clients (unlike a copy).

Change-Id: I4315693c8c557986d922106b7c1325e23de70725
Signed-off-by: Roland Grunberg <rgrunber@redhat.com>
