That is the answer. The java projection will not allow for a class that cannot be instantiated to be projected. And this is determined based on the leftmost class referenced in the inheritance. IN your case you were picking up MyObject who inherits from %Abstract - hence the problem.

Mark Sires wrote:
I tried this, and in the error box it indicates that the left most
superclass must be %Library.RegisteredObject.  I added this superclass in
front of MyObject in the superclass list, and it compiled ok.  I don't use
Java, so I don't know if it actually projected anything useful.
Mark


"Arthur Rubinstein" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]

Hi,

I would like to starts my class hierarchy with a root class, say MyObject.
It does not make sense to instantiate this class, i.e. it should be an
abstract class. The class A extends MyObject and must be persistent. And
both classes must be projected as Java classes:

Class MyObject [ Abstract, ProcedureBlock ]
{
Projection Projection1 As %Projection.Java;
}

Class A Extends (MyObject, %Persistent) [ ClassType = persistent,
ProcedureBlock ]
{
Projection Projection1 As %Projection.Java;
}

==> ERROR #6630: Class A is not projectible

How can I achieve it otherwise?

Thanks in advance

Arthur








Reply via email to