OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

sca-assembly message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [sca-assembly] ISSUE 12: Abstract base type for Service and Reference


Title: NEW ISSUE: Is binding.sca always present?

Re:

Question that was brought up in the meeting about whether ComponentReference and ComponentService should also have a common supertype.

I apologize – I didn’t hear it during the meeting but I saw it in the minutes.

 

 

I’d propose that we don’t introduce a common supertype like “ComponentBindable”.

XSD doesn’t support multiple inheritance in this way – you can’t have a ComponentReference which extends both ComponentBindable and Reference.

 

So my proposed type hierarchy would be:

 

Bindable

  <--Reference (extends Bindable)

    <--ComponentReference (extends Reference)

  <--Service (extends Bindable)

    <--ComponentService (extends Service)

 

 

 

I’d be happy using the word “Contract”, or something else, instead of “Bindable”.

 

 

 

 

 


From: David DiFranco [mailto:ddifranc@bea.com]
Sent: Thursday, October 25, 2007 9:01 AM
To: sca-assembly@lists.oasis-open.org
Subject: [sca-assembly] NEW ISSUE: Abstract base type for Service and Reference

 

Title: Abstract base type for Service and Reference

TARGET: Assembly spec

DESCRIPTION: The XML schema definitions for Service and Reference contain an identical set of elements, and also share some attributes.  It would be useful to have Service and Reference extend from a common base class. 

This would make it easier to deal with Services and References programmatically, when processing an SCA XML file, or working with code generated from the XML schema.

PROPOSAL:

New proposed schema content below.  If someone can think of a better name for the base type than “Bindable”, please suggest.

 

<complexType name="Bindable" abstract="true">

    <sequence>

        <element ref="sca:interface" minOccurs="0" maxOccurs="1" />

        <element name="operation" type="sca:Operation" minOccurs="0" maxOccurs="unbounded" />

        <choice minOccurs="0" maxOccurs="unbounded">

            <element ref="sca:binding" />

            <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

        </choice>

        <element ref="sca:callback" minOccurs="0" maxOccurs="1" />

        <any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />

    </sequence>

    <attribute name="name" type="NCName" use="required" />

    <attribute name="requires" type="sca:listOfQNames" use="optional" />

    <attribute name="policySets" type="sca:listOfQNames" use="optional"/>

    <anyAttribute namespace="##any" processContents="lax" />

</complexType>

   

<complexType name="Service">          

    <complexContent>

        <extension base="sca:Bindable"> 

            <attribute name="promote" type="anyURI" use="required" />              

        </extension>

    </complexContent>

</complexType>

 

<complexType name="Reference">     

    <complexContent>

        <extension base="sca:Bindable"> 

            <attribute name="target" type="sca:listOfAnyURIs" use="optional"/>

            <attribute name="wiredByImpl" type="boolean" use="optional" default="false"/>

            <attribute name="multiplicity" type="sca:Multiplicity" use="optional" default="1..1" />

            <attribute name="promote" type="sca:listOfAnyURIs" use="required" />

        </extension>

    </complexContent>          

</complexType>                   

 


Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.
Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it.


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]