blob: cecc68bb995f3ad6cc9bdc916bd8e1294743a908 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<xs:schema targetNamespace="org.apache.felix.ipojo.handler.temporal"
xmlns="org.apache.felix.ipojo.handler.temporal"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xs:element name="requires" type="TemporalServiceDependencyType"></xs:element>
<xs:complexType name="TemporalServiceDependencyType">
<xs:annotation>
<xs:documentation>Description of a temporal dependency.</xs:documentation>
</xs:annotation>
<xs:attribute name="field" type="xs:string" use="required">
<xs:annotation>
<xs:documentation>The implementation field supporting the dependency.</xs:documentation>
</xs:annotation></xs:attribute>
<xs:attribute name="id" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>The dependency id</xs:documentation>
</xs:annotation></xs:attribute>
<xs:attribute name="filter" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Filter use to discover matching filter.</xs:documentation></xs:annotation></xs:attribute>
<xs:attribute name="timeout" type="xs:int" use="optional">
<xs:annotation>
<xs:documentation>Specifies the timeout after which the onTimeout policy is executed. The value is the time in ms to wait. -1 is used to indicate an infinite wait.</xs:documentation>
</xs:annotation></xs:attribute>
<xs:attribute name="onTimeout" use="optional" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the onTimeout policy. This determines the object to inject when the service stills unavailable when the timeout expires. Several values are supported: 'nullable' means that a Nullable object will be injected, 'empty-array' injects an empty array (only for aggregate dependency), 'null' injects Null, any other value are interpreted as the default implementation class to use. If the onTimetout attribute is not specified, a RuntimeException is thrown when the timeout is reached.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="proxy" use="optional" type="xs:boolean">
<xs:annotation>
<xs:documentation>Enables or Disables the proxy injection</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="specification" use="optional" type="xs:string">
<xs:annotation>
<xs:documentation>Specifies the looked service specification. This attribute is mandatory when injecting in a Collection</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:schema>