Thanks again. But another small issue ( sorrryy !!! )
I made and ran a dependency non-component class ( named Test that
implemented an Interface called TestInterface ) with the HelloComponent.
Worked fine and the ServiceManger looked that up for me as follows:
----------------------------------------------------------------------
/**
* @avalon.dependency type="tutorial.TestInterface" key="test"
*
*/
public void service( ServiceManager manager )
throws ServiceException
{
m_test = (TestInterface) manager.lookup("test");
}
---------------------------------------------------------------------
The above lifecycle service() method exists in HelloComponent cause if
extends the Serviceable interface.
And as I mentioned the Test class doesn't implement any lifecycle interface.
Now what if I want to use another non-component dependency class ( Test1 ),
this time in the Test class.
Since Test won't have a service() method and hence won't get a
ServiceManger, how could Test1 be looked up using Merlin. I mean I can just
create a Test1 object and use it in Test but what abt automatic lookup using
ServiceManger.
You know what I mean ??
Should a ServiceManager object be manually created or what should be the
approach here ?
And thanks a lot for your patience.
Vikas
-----Original Message-----
From: Stephen McConnell [mailto:[EMAIL PROTECTED]
Sent: Thursday, January 15, 2004 2:43 PM
To: Avalon framework users
Subject: Re: Dependencies
Vikas Phonsa wrote:
> Thanks guys, I got another question though,
>
> Do all dependencies that a component class is using ( e.g the
> RandomGenerator used by HelloComponent in the dependencies example ) have
to
> be components based on Avalon Framework to be used with Merlin.
No.
All you need to do is add the @avalon.component name="whatever" tag.
I.e. meta-info is needed by the component DOES NOT need to be Avalon based.
Cheers, Steve.
> I mean what if I define a simple class Test which is not a component ( and
> hence implements no Avalon lifecycle interfaces) and I try to use that as
a
> dependency, like try to use of its method in the HelloComponent.
>
> I tried to use such a class, doesn't work and I get a
> NoProviderDefinitionException.
>
>
> Thanks
>
> Vikas
>
>
>
>
> -----Original Message-----
> From: Stephen McConnell [mailto:[EMAIL PROTECTED]
> Sent: Thursday, January 15, 2004 1:42 PM
> To: Avalon framework users
> Subject: Re: Dependencies
>
> Vikas Phonsa wrote:
>
>
>>Requirements, I understand. Now what do u mean by solutions ?
>
>
> In the case of a dependency Merlin will automatically wire things
> together for you, however - sometime you want to override the things
> that Merlin does. This is achieved by declaring a <dependency>
> directive containing a definition of the <source> component address to
> use as the service provider.
>
> The following examples should provide everything you need to know.
>
> http://avalon.apache.org/merlin/starting/tutorial/dependencies/index.html
>
> Cheers, Steve.
>
>
>>Thanks
>>
>>Vikas
>>
>>-----Original Message-----
>>From: Stephen McConnell [mailto:[EMAIL PROTECTED]
>>Sent: Thursday, January 15, 2004 1:22 PM
>>To: Avalon framework users
>>Subject: Re: Dependencies
>>
>>Vikas Phonsa wrote:
>>
>>
>>
>>>Hi Everybody
>>>
>>>In the definition of <component> element of block.xml at
>>>http://avalon.apache.org/merlin/meta/block/components/index.html
>>>
>>><dependencies> nested element has been defined.
>>>
>>>How is this element different from the <dependencies> element
>>
>>automatically
>>
>>
>>>generated in the classname.xinfo file for a component.
>>
>>
>>
>>The definitions in the .xinfo file are the declaration of requirements.
>> The definitions in the block are the declaration of solutions.
>>
>>Cheers, Steve.
>>
>>
>>
>>
>>>Or any comments regarding this ?
>>>
>>>Thanks
>>>
>>>Vikas
>>>
>>>
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
>>
>>
>
>
--
|------------------------------------------------|
| Magic by Merlin |
| Production by Avalon |
| |
| http://avalon.apache.org/merlin |
| http://dpml.net/merlin/distributions/latest |
|------------------------------------------------|
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]