felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Richard S. Hall" <he...@ungoverned.org>
Subject Re: [gogo] Parameter annotations (Re: svn commit: r940514 - in /felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command: Flag.java Option.java)
Date Mon, 03 May 2010 21:25:16 GMT
On 5/3/10 16:56, Guillaume Nodet wrote:
> On Mon, May 3, 2010 at 21:17, Richard S. Hall<heavy@ungoverned.org>  wrote:
>
>    
>> On 5/3/10 14:51, Guillaume Nodet wrote:
>>
>>      
>>> What are those annotations suppose to actually provide ?  It seems all
>>> they
>>> can do is provide some basic help to the user, but does not really help
>>> the
>>> user writing complex commands and dealing with complex arguments.
>>>
>>> Have a look at an existing example:
>>>
>>>
>>> http://svn.apache.org/repos/asf/felix/trunk/karaf/shell/commands/src/main/java/org/apache/felix/karaf/shell/commands/GrepAction.java
>>>
>>> I think those annotations would not provide the slightest help in
>>> analyzing
>>> such a command line.
>>>
>>>
>>>        
>> I don't think there will ever be a single solution that can help everyone
>> implement any possible command. If people need to do something that is super
>> complex, then they can always fall back to parsing their own arguments.
>>
>>      
> I can agree to that, but then I don't see why it has to be in the proposed
> spec.  Having it as a separate module might be a better approach then.
>    

The issue is you cannot easily do what we are trying to achieve in a 
separate module since it is modifying how the runtime coerces arguments 
when invoking methods. There is no place to hook into this externally. 
However, I agree that it could be just an implementation-specific 
feature of the Gogo runtime.

I actually talked with Peter specifically about this and he felt the 
feature might be worthwhile for the spec, which is why he committed it 
there, but nothing is set in stone at this point.

-> richard

>
>    
>> At this point, we're just messing around with allowing optional method
>> parameters and out of order specification of arguments.
>>
>> ->  richard
>>
>>
>>   On Mon, May 3, 2010 at 19:01,<pkriens@apache.org>   wrote:
>>      
>>>
>>>
>>>        
>>>> Author: pkriens
>>>> Date: Mon May  3 17:01:53 2010
>>>> New Revision: 940514
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=940514&view=rev
>>>> Log:
>>>> Annotations for parameters
>>>>
>>>> Added:
>>>>
>>>>
>>>>   felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Flag.java
>>>>
>>>>
>>>>   felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Option.java
>>>>
>>>> Added:
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Flag.java
>>>> URL:
>>>>
>>>> http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Flag.java?rev=940514&view=auto
>>>>
>>>>
>>>> ==============================================================================
>>>> ---
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Flag.java
>>>> (added)
>>>> +++
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Flag.java
>>>> Mon May  3 17:01:53 2010
>>>> @@ -0,0 +1,6 @@
>>>> +package org.osgi.service.command;
>>>> +
>>>> +public @interface Flag {
>>>> +       String name();
>>>> +       String help() default "no help";
>>>> +}
>>>>
>>>> Added:
>>>>
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Option.java
>>>> URL:
>>>>
>>>> http://svn.apache.org/viewvc/felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Option.java?rev=940514&view=auto
>>>>
>>>>
>>>> ==============================================================================
>>>> ---
>>>>
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Option.java
>>>> (added)
>>>> +++
>>>>
>>>> felix/trunk/gogo/runtime/src/main/java/org/osgi/service/command/Option.java
>>>> Mon May  3 17:01:53 2010
>>>> @@ -0,0 +1,6 @@
>>>> +package org.osgi.service.command;
>>>> +
>>>> +public @interface Option {
>>>> +       String name();
>>>> +       String dflt();
>>>> +}
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>          
>>>
>>>
>>>        
>>      
>
>    

Mime
View raw message