Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

These latter tags distinguish between the primary way in which a developer of a new extension is expected to develop that extension. If the inheritfrom tag is used, the primary extension development method would be to specialize the tagged class . If the asclient tag is used then the extension developers code would make direct method calls on instances of the spi classes (the oo programming client relationship). The plain tuscany.spi.extension tag is used for cases such as enum declarations that the extension programmer is expected to use, or for marking packages as containing SPI.

Below is a list  of the classes which are marked as those designed to be specialized

And here is a list of those classes which are marked as being provided for use via method calls on instances of the spi class.

{{
./assembly/src/main/java/org/apache/tuscany/sca/assembly/Base.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/Binding.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/BindingBuilder.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/ImplementationBuilder.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/builder/PolicyBuilder.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/Extensible.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/impl/ImplementationImpl.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/Implementation.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/OperationsConfigurator.java
./assembly/src/main/java/org/apache/tuscany/sca/assembly/WireFormat.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/FaultExceptionMapper.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceContractImpl.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/InterfaceImpl.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/impl/OperationImpl.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/Interface.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/InterfaceContract.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/InvalidInterfaceException.java
./assembly/src/main/java/org/apache/tuscany/sca/interfacedef/Operation.java
./assembly/src/main/java/org/apache/tuscany/sca/policy/PolicyContainer.java
./assembly/src/main/java/org/apache/tuscany/sca/policy/PolicySubject.java
./contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java
./contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/StAXArtifactProcessor.java
./contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/URLArtifactProcessor.java
./contribution/src/main/java/org/apache/tuscany/sca/contribution/resolver/ModelResolver.java
./contribution/src/main/java/org/apache/tuscany/sca/contribution/scanner/ContributionScanner.java
./core/src/main/java/org/apache/tuscany/sca/core/scope/ScopedImplementationProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/context/PropertyValueFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/invocation/Interceptor.java
./core-spi/src/main/java/org/apache/tuscany/sca/invocation/Invoker.java
./core-spi/src/main/java/org/apache/tuscany/sca/invocation/PhasedInterceptor.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/BasePolicyProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/BindingProviderFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/EndpointReferenceProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/ImplementationProviderFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/OperationSelectorProviderFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/PolicyProviderFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/ReferenceBindingProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/ServiceBindingProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProvider.java
./core-spi/src/main/java/org/apache/tuscany/sca/provider/WireFormatProviderFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/runtime/BaseDomainRegistryFactory.java
./core-spi/src/main/java/org/apache/tuscany/sca/runtime/BaseEndpointRegistry.java
./core-spi/src/main/java/org/apache/tuscany/sca/runtime/EndpointRegistry.java
./core-spi/src/main/java/org/apache/tuscany/sca/runtime/RuntimeWireProcessor.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/BaseDataBinding.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/BaseTransformer.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/Java2SimpleTypeTransformer.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/impl/SimpleType2JavaTransformer.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/PullTransformer.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/WrapperHandler.java
./databinding/src/main/java/org/apache/tuscany/sca/databinding/XMLTypeHelper.java
./extensibility/src/main/java/org/apache/tuscany/sca/core/LifeCycleListener.java
./extensibility/src/main/java/org/apache/tuscany/sca/core/ModuleActivator.java
./host-http/src/main/java/org/apache/tuscany/sca/host/http/ServletHost.java
./implementation-java-runtime/src/main/java/org/apache/tuscany/sca/implementation/java/injection/InjectionRuntimeException.java
./monitor/src/main/java/org/apache/tuscany/sca/monitor/Monitor.java

The javadoc for all sca code below the modules directory can be seen  at http://people.apache.org/~kelvingoodson/scadoc/apidocs/

This included a crude separation of those packages which contain some part of the extension developers SPI as currently marked by the tags, and those which don't. We wpuld need to do some refactoring of the code to make this a nice source of information,  and as a side benefit, make out code cleaner I would guess.}}