Skip to main content



      Home
Home » Eclipse Projects » Eclipse Platform » Platform extensibility
Platform extensibility [message #334152] Thu, 22 January 2009 03:57 Go to next message
Eclipse UserFriend
Hi,

I understand that such a big project as Eclipse, used in so many ways by
so many people, has to be accessed by a well defined public API.

Sometimes, I need to use the Platform in ways not initially thought by the
Eclipse designers. So I need to use private API on my own risk. I assume
the risk that internal API's can change in the future at any time.

For example. I need to derive org.eclipse.swt.widget.Table, to tweak a
little its behaviour.

Problem:
This class has many members I need that can only be accessed from classes
in the same package.

Solutions I have tried:

1) Extend in a 3rd party plugin and use the same package. Problem:
different class loaders. I have problems even when using reflection.

2) Place my custom classes in a fragment extending org.eclipse.swt plugin.
Problem: my classes have full access to SWT internals, but cannot be seen
from the outside.

3) Import the plugin as a project. This solution works, but I have to
import hundreds of classes, just for adding one own class. In addition
the org.eclipse.swt.win32.win32.x86 plugin cannot be built by the product
export tool, it crashed. So in my humble opinion, this solution is not
optimal.

So, what is the recommended way to extend the Platform in special cases
where internal API use is needed?
Re: Platform extensibility [message #334207 is a reply to message #334152] Mon, 26 January 2009 12:36 Go to previous messageGo to next message
Eclipse UserFriend
Maybe this could be useful:
http://www.eclipse.org/equinox/incubator/aspects/index.php

Some experience somebody would like to share?

David Pérez wrote:

> Hi,

> I understand that such a big project as Eclipse, used in so many ways by
> so many people, has to be accessed by a well defined public API.

> Sometimes, I need to use the Platform in ways not initially thought by the
> Eclipse designers. So I need to use private API on my own risk. I assume
> the risk that internal API's can change in the future at any time.

> For example. I need to derive org.eclipse.swt.widget.Table, to tweak a
> little its behaviour.

> Problem:
> This class has many members I need that can only be accessed from classes
> in the same package.

> Solutions I have tried:

> 1) Extend in a 3rd party plugin and use the same package. Problem:
> different class loaders. I have problems even when using reflection.

> 2) Place my custom classes in a fragment extending org.eclipse.swt plugin.
> Problem: my classes have full access to SWT internals, but cannot be seen
> from the outside.

> 3) Import the plugin as a project. This solution works, but I have to
> import hundreds of classes, just for adding one own class. In addition
> the org.eclipse.swt.win32.win32.x86 plugin cannot be built by the product
> export tool, it crashed. So in my humble opinion, this solution is not
> optimal.

> So, what is the recommended way to extend the Platform in special cases
> where internal API use is needed?
Re: Platform extensibility [message #334216 is a reply to message #334152] Mon, 26 January 2009 15:01 Go to previous message
Eclipse UserFriend
"David "P
Previous Topic:IFile.create and/or IFile.setContents are often very slow
Next Topic:If you use the Common Navigator please test with this weeks I-build
Goto Forum:
  


Current Time: Tue Apr 15 01:12:08 EDT 2025

Powered by FUDForum. Page generated in 0.03503 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top