Re: [sca-j] ISSUE 96: Proposal - "Are annotations allowed on static methods?"

From
Mike Edwards <>
Date
2008-12-11T13:19:34+00:00
ID
Thread
Re: [sca-j] ISSUE 96: Proposal - "Are annotations allowed on static methods?"
+1

Yours,  Mike.

Strategist - Emerging Technologies, SCA & SDO.

Co Chair OASIS SCA Assembly TC.

IBM Hursley Park, Mail Point 146, Winchester, SO21 2JN, Great Britain.

Phone & FAX: +44-1962-818014    Mobile: +44-7802-467431  

Email:  

From:
C Vamsi <>

To:


Date:
11/12/2008 12:02

Subject:
[sca-j] ISSUE 96: Proposal - "Are
annotations allowed on static methods?"

ISSUE: Are annotations allowed on static methods?

PROPOSAL: SCA annotations are not allowed on static methods and static

fields.  Add the following text at the end of line 872 (

sca-javacaa-1.1-spec-cd01, section 8).

As a general rule, SCA annotations are not allowed on static methods and

static fields.  It is an error to use an SCA annotation on a static
method

or a static field of an implementation class and the SCA runtime MUST NOT

instantiate such implementation class.

RATIONALE:

The following are the SCA annotations that could be applied on static

fields and methods. The text next to each annotation explains a reason
for

disallowing the annotation.

@AllowsPassByReference - On service method of remotable service. Does not

     make sense since remotable service methods can not be static.

@Callback - The callback is per implementation instance and since static

     methods can only access static methods and fields

@ComponentName - Will be a problem since we don't restrict that an

     implementation can be used at most once in an assembly.

@Context -  Will be a problem since we don't restrict that an

     implementation can be used at most once in an assembly.

@ConversationID  - Will be a problem since we don't restrict that
an

     implementation can be used at most once in an assembly.

@Destroy -  Since this is invoked for each implementation instance
going

     out of scope and since static methods can only access static
methods

     and fields.

@EndsConversation - Not applicable since it is applied only on interface

     methods.

@Init -  Since this is invoked for each implementation instance coming
into

scope and since static methods can only access static methods and fields.

@OneWay - Applied on service method and service method cannot be static.

@Property - Will be a problem since we don't restrict that an

     implementation can be used at most once in an assembly.

@Reference - Will be a problem since we don't restrict that an

     implementation can be used at most once in an assembly.

---------------------------------------------------------------------

To unsubscribe from this mail list, you must leave the OASIS TC that

generates this mail.  Follow this link to all your TCs in OASIS at:

https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU