All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xsd.core.xsd Maven / Gradle / Ivy

Go to download

iPOJO bytecode manipulator. This manipulator is used to instrument java classes in order to be managed by iPOJO.

There is a newer version: 1.13.0
Show newest version


    
        iPOJO Core XML-Schema. This grammars models iPOJO descriptor using core
            features. It provides several extensibility mechanism in order to compose this schema with
            external handlers and other component implementation type such as
            compositions.
        
    
    
        
            
                iPOJO top level element.
            
            
                
                    
                        The handler declarations.
                    
                
                
                    
                        The instance declarations.
                    
                
                
                    
                        The component type declarations.
                    
                
                
            
        
    
    
        
            Description of the handler.
        
        
            
                
                    
                
                
                    
                        The implementation class of the handler. The specified class must
                            implement (direcly or not) the "org.apache.felix.ipojo.Handler"
                            interface.
                        
                    
                
                
                    
                        The name of the handler.
                    
                
                
                    
                        The XML namespace of the handler.
                    
                
                
                    
                        Enables or disables the architecture exposition. By default, the
                            architecture is not exposed. This allows handler introspection.
                        
                    
                
                
                    
                        The start level of the handler.
                    
                
            
        
    
    
        
            Describes an instance of a component.
        
        
            
                
                    
                        
                            The instance props.
                        
                    
                
                
                    
                        The name of the instance component type.
                    
                
                
                    
                        The (unique) name of the instance.
                    
                
                
                    
                        The version of the factory to use.
                    
                
            
        
    
    
        
            Defines a property of an instance configuration.
        
        
            
        
        
            
                Name of the property. Can be optional if a property is inside a structure.
                    The 'instance.name' property has a special semantic as it will be used as the instance
                    name.
                
            
        
        
            
                Value of the property. Can be null for property containing other
                    props.
                
            
        
        
            
                Type of the property, used to create the adequate object. Supported values
                    are list, array, dictionary and map.
                
            
        
    
    
    
        
            Declares an atomic (i.e. primitive) component type.
        
        
            
                
                    Describes the method(s) to invoke when the component's state
                        changes.
                    
                
            
            
                
                    Indicates the component provided service(s). By default, all implemented
                        interfaces are published.
                    
                
            
            
                
                    Indicates the service requirements of the component.
                
            
            
                
                    Describes the properties of the component.
                
            
            
                
                    Lifecycle controller for this component.
                
            
            
        
        
            
                Specifies the name of the component type. This name is used to identify
                    the factory attached to this type. If not specified, the factory name is the
                    implementation class name.
                
            
        
        
            
                Determines if the component type is public or private. A public factory
                    (default) can be used from any bundles.
                
            
        
        
            
                Specifies the implementation class of the component
                    type.
                
            
        
        
            
                Enables or disables the architecture exposition. By default, the
                    architecture is exposed. This allows instance introspection.
                
            
        
        
            
                Creates the object of the component implementation type as soon as the
                    component instance becomes valid. The default value is "true" if the component doesn't
                    provide any service, "false" otherwise.
                
            
        
        
            
                Factory method called to create POJO objects instead of the constructor.
                    The specified method must be a static method of the implementation class returning an
                    instance of this implementation class. The factory method can receive the bundle context
                    in argument.
                
            
        
        
            
                Set the version of this component type
            
        
    
    
        
            Description of component services requirements.
        
        
            
                
                    
                        
                            Service requirement method invocation description. Here can be
                                specified a bind method called when a service appears and an unbind method called
                                when a service disappears.
                            
                        
                    
                

                
                    
                        The interface describing the required service type. This attribute is
                            needed only when using aggregate dependencies with field injection and when the type
                            of this field is a list, vector, collection and set. This attribute is deprecated, use
                            'specification'.
                        
                    
                

                
                    
                        The name of the field representing the service dependency in the
                            implementation class.
                        
                    
                

                
                    
                        Enable or disable the Nullable pattern on optional service
                            dependencies. By default, Nullable pattern is enabled. If disabled, iPOJO will inject
                            null instead of a Nullable object.
                        
                    
                

                
                    
                        Specifies the default implementation class for an optional service
                            dependency. If no providers are found, iPOJO creates an instance of the
                            default-implementation (nullary constructor) and injects it. The given class must
                            implement the required service interface.
                        
                    
                

                
                    
                        Specifies the exception to throw for an optional service
                            dependency. If no providers are found, iPOJO creates an instance of the
                            exception (with either no parameter or a String parameter as constructor argument), and
                            throws it. The given class name must extends RuntimeException.
                        
                    
                

                
                    
                        Specifies the timeout after which the 'no service policy' is executed
                            (nullable, null, empty collection, exception...). The value is the time in millisecond to
                            wait. -1 is used to indicate an infinite wait, 0 executes the no service policy
                            immediately.
                        
                    
                

                
                    
                        Specific service provider. The dependency can only be fulfilled by the
                            component with the matching name, or by the service with a matching
                            PID.
                        
                    
                

                
                    
                        Enables or Disable the proxy injection (on field
                            injection)
                        
                    
                

                
                    
                        
                            
                            
                            
                        
                    
                

            
        
    
    
        
            Dependency callbacks are used to receive notification when service providers
                arrive and leave.
            
        
        
            
                Method to call
            
        
        
            
                Type of callback (bind, unbind, or updated). Bind means that the method
                    will be called when a provider arrives. Unbind means that the method will be called when a
                    provider leaves. Updated means that a service was modified but is still valid for the
                    service dependency.
                
            
            
                
                    
                    
                    
                
            
        
    
    
        
            Lifecycle Callback. Allows a POJO to be notified when the instance becomes
                valid or invalid.
            
        
        
            
                Specifies the method to call on the transition.
            
        
        
            
                Specifies the transition when the callback needs to be
                    invoked.
                
            
            
                
                    Lifecycle transition state. "validate" means that the component's
                        instance was invalid and becomes valid, "invalidate" means that the component's intance
                        was valid and becomes invalid.
                    
                
                
                    
                    
                
            
        
    
    
        
            Allows injecting the OSGi bundle context into the component.
            
        
        
            
                Specifies the method receiving the bundle context.
            
        
        
            
                Specifies the field receiving the bundle context.
            
        
        
            
                Specifies the index of the parameter (0-based) receiving the bundle
                    context.
            
        

        
            
                Specifies the context source.
                
            
            
                
                    iPOJO supports two bundle context 'sources': component and instance. Component
                        is the bundle context of the bundle declaring the component, while instance is the bundle
                        context of the bundle declaring the instance. Obviously, they are the same when the instance
                        is declared in the same bundle as the component. By default, it uses 'component'.
                    
                
                
                    
                    
                
            
        
    
    
    
        
            Provided service(s) description.
        
        
            
                
                    
                        List of service specific props.
                    
                
                
                    
                        Service Controller impacting the current provided
                            service
                        
                    
                
            
        
        
            
                Deprecated attribute, use 'specifications' instead of
                    'interface'
                
            
        
        
            
                The list of service specifications (i.e. interfaces) to expose. By
                    default, all interfaces implemented by the component implementation class are
                    published.
                
            
        
        
            
                Use 'strategy' instead of 'factory'
            
        
        
            
                POJO creation strategy. By default, the POJO object is created once
                    (singleton). If the factory is set to "SERVICE", the creation policy follows the OSGi
                    service factory policy (one object object per asking bundle). INSTANCE allows creating one
                    different POJO object per asking instance. Finally, a custom strategy can be used by
                    specifying the qualified name of the class extending CreationPolicy
                
            
        
        
            
                Defines a callback called after the service registration. The callback takes a
                    ServiceReference
                    as parameter
                
            
        
        
            
                Defines a callback called after the service unregistration. The callback takes a
                    ServiceReference
                    as parameter
                
            
        
    
    
        
            Defines a service controller.
        
        
            
                Field of the controller
            
        
        
            
                Intiail value of the controller
            
        
    
    
        
            Defines a component property.
        
        
            
                Field of the property
            
        
        
            
                Setter method of the property. This method is called to inject property
                    value.
                
            
        
        
            
                Name of the property.
            
        
        
            
                Default value of the property.
            
        
        
            
                Type of the property.
            
        
        
            
                Set the property as mandatory. A mandatory property MUST receive a value
                    either in the component type description or in the instance configuration. Properties are
                    optional by default.
                
            
        
        
            
                Set the property as immutable. An immutable property is inherited by the component
                    instance but the value cannot be overridden.
                
            
        
    
    
    
    
        
            
        
    
    
    
    
    

    
    
        
            List of component, instance or service props. This field will receive
                the property value.
            
        
        
            
                
                    The list of props.
                
            
        
        
            
                Propagation of the component properties to the provided services. If this
                    parameter is set to "true", each time properties are reconfigured, they are propagated to
                    each service published by the component.
                
            
        
        
            
                Unique identifier used to reconfigure components properties (via Managed
                    Services) with the Configuration Admin.
                
            
        
        
            
                Method called when a reconfiguration is done
            
        
    

    
        
            
                The specification describing the required service type. This attribute is
                    needed only when using aggregate dependencies with field injection and when the type of
                    this field is a list, vector, collection and set.
                
            
        
        
            
                Sets the service dependency optionality
            
        
        
            
                Sets the service dependency cardinality.
            
        
        
            
                Sets the binding policy of the dependency. Three policies are supported.
                    The dynamic policy supports service providers dynamism. The static policy freezes the
                    provider set as soon as the dependency is used. The dynamic-priority policy is an
                    extension of the dynamic policy, but providers are ranked.
                
            
            
                
                    
                    
                    
                
            
        
        
            
                The comparator attribute allows specifying the class used to compare
                    providers. This class must implemented the java.util.Comparator class and must support the
                    comparison of service references.
                
            
        
        
            
                LDAP filter used to filter providers
            
        
        
            
                id of the service dependency. The id allows to identify and to refer to
                    this dependency.
                
            
        
    

    
        
            Specifies the lifecycle controller of a component, which allows to validate
                or invalidate component instances.
            
        
        
            
                The name of the component lifecycle controller field. The type of the
                    specified field must be boolean. Setting the value of the specified field to "true" means
                    the validation of the component instance while setting it to "false" means the
                    invalidation of the component instance.
                
            
        
    





© 2015 - 2025 Weber Informatics LLC | Privacy Policy