[stringtemplate-interest] handling of arrays (John Snyders)

Terence Parr parrt at cs.usfca.edu
Tue Jan 30 12:14:43 PST 2007


crap.  Ok, back to arrayiterator then.
Ter
On Jan 30, 2007, at 11:54 AM, Nate wrote:

> Unless you are using Java 5+, you'd have to use System.arrayCopy to  
> copy the array to an Object array.
>
> -Nate
>
>
> Terence Parr wrote:
>> Awesome!  Heh, it's exactly what we want I think.
>>
>> Wait, class cast issue:
>>
>> 	public static Object convertArrayToList(Object value) {
>> 		if ( value==null ) {
>> 			return null;
>> 		}
>> 		if ( value.getClass().isArray() ) {
>> 			return Arrays.asList((Object[])value);  // CAST ISSUE!
>> 		}
>> 		return value;
>> 	}
>>
>> won't work as value is not Object[] most of the time...but how do  
>> you  get it to compile w/o the cast?
>>
>> Ter
>>
>> On Jan 30, 2007, at 9:13 AM, Harry Karadimas wrote:
>>
>>
>>> Hi, I don't know if that relates to the previous post, but java   
>>> *does* have something
>>> to encapsulate an array into a list, and that is the "asList"   
>>> method of the java.util.Arrays
>>> class.
>>>
>>> Object[] myArray = ...
>>> List myList = Arrays.asList(myArray);
>>>
>>> Harry Karadimas   
>>> ____________________________________________________________________ 
>>> __  Dr Harry Karadimas Medecin Ingenieur resp. Recherche et   
>>> Developpement Departement d'Information Hospitalier CHU Henri   
>>> Mondor 51, av. du Mal de Lattre de Tassigny 94010 CRETEIL tel :  
>>> (00  33 1) 49 81 21 79 fax : (00 33 1) 49 81 27 08 secr.: (00 33  
>>> 1) 49  81 23 82 m.el.:harry.karadimas at hmn.ap-hop-paris.fr
>>>
>>>
>>> stringtemplate-interest-request at antlr.org a écrit :
>>>
>>>> Send stringtemplate-interest mailing list submissions to   
>>>> stringtemplate-interest at antlr.org To subscribe or unsubscribe  
>>>> via  the World Wide Web, visit http://www.antlr.org:8080/ 
>>>> mailman/ listinfo/stringtemplate-interest or, via email, send a  
>>>> message  with subject or body 'help' to stringtemplate-interest-  
>>>> request at antlr.org You can reach the person managing the list at   
>>>> stringtemplate-interest-owner at antlr.org When replying, please  
>>>> edit  your Subject line so it is more specific than "Re:  
>>>> Contents of  stringtemplate-interest digest..." Today's Topics:  
>>>> 1. Re: handling  of arrays (John Snyders) 2. Re: inconsistency  
>>>> with length function  (Oliver Flege)   
>>>> ------------------------------------------------------------------- 
>>>> -- - Message: 1 Date: Sun, 28 Jan 2007 21:44:26 -0500 From:  
>>>> "John  Snyders" <jjsnyders at rcn.com> Subject: Re:  
>>>> [stringtemplate- interest] handling of arrays To: "Terence  
>>>> Parr"  <parrt at cs.usfca.edu>,	"StringTemplate" <stringtemplate-  
>>>> interest at antlr.org> Message-ID:   
>>>> <PMEOJKDLMMHOHNEAMPBGGEJMCAAA.jjsnyders at rcn.com> Content-Type:   
>>>> text/plain;	charset="US-ASCII"
>>>>
>>>>> -----Original Message----- From: stringtemplate-interest-  
>>>>> bounces at antlr.org [mailto:stringtemplate-interest-  
>>>>> bounces at antlr.org]On Behalf Of Terence Parr Sent: Saturday,   
>>>>> January 27, 2007 6:38 PM To: StringTemplate Subject: Re:   
>>>>> [stringtemplate-interest] handling of arrays On Jan 16, 2007,  
>>>>> at  9:40 PM, John Snyders wrote:
>>>>>
>>>>>> I noticed in ASTExpr.java the method convertArrayToList.
>>>>>>
>>>>> it is. just done to make things consistent...else have to  
>>>>> check  for arrays everyone. gross, eh?
>>>>>
>>>>>> It seems to me that this is wasteful. I have not looked at it   
>>>>>> too deep but why not handle arrays like other collections and   
>>>>>> wrap them in an ArrayIterator inside   
>>>>>> convertAnythingIteratableToIterator.
>>>>>>
>>>>> Interesting...ArrayIterator, eh? Does Sun have a standard one?  
>>>>> I  don't see it. Do you mean I should create one real quick?
>>>>>
>>>> There isn't one in the Java SDK (as far as I know) but jakarta   
>>>> commons has one http://jakarta.apache.org/commons/collections/ 
>>>> api- release/org/apache/commons /collections/iterators/  
>>>> ArrayIterator.html ST probably shouldn't rely on this so you  
>>>> can  create your own. It is straight forward. I created one  
>>>> before I  found the one in commons collections. I can give it to  
>>>> you if you  like (assuming I can find it). But again I didn't  
>>>> think this  through fully.
>>>>
>>>>> Ter _______________________________________________   
>>>>> stringtemplate-interest mailing list stringtemplate-  
>>>>> interest at antlr.org http://www.antlr.org:8080/mailman/listinfo/  
>>>>> stringtemplate-interest
>>>>>
>>>> ------------------------------ Message: 2 Date: Mon, 29 Jan  
>>>> 2007  10:25:24 +0100 From: Oliver Flege <o.flege at market- 
>>>> maker.de>  Subject: Re: [stringtemplate-interest] inconsistency  
>>>> with length  function To: StringTemplate <stringtemplate- 
>>>> interest at antlr.org>  Message-ID: <45BDBD84.4040707 at market- 
>>>> maker.de> Content-Type: text/ plain; charset=ISO-8859-1 Hi,  
>>>> Terence Parr wrote:
>>>>
>>>>>> I think that the length method in ASTExpr.java should be  
>>>>>> changed  as follows: From: } else if (attribute instanceof  
>>>>>> List) { i =  ((List)attribute).size(); } To: } else if  
>>>>>> (attribute instanceof  Collection) { i = ((List)attribute).size 
>>>>>> (); }
>>>>>>
>>>>> Howdy! OK, yep, good fix.
>>>>>
>>>> even better would be } else if (attribute instanceof  
>>>> Collection)  { i = ((Collection)attribute).size(); } :) Cheers,  
>>>> Oliver  ------------------------------   
>>>> _______________________________________________ stringtemplate-  
>>>> interest mailing list stringtemplate-interest at antlr.org http://  
>>>> www.antlr.org:8080/mailman/listinfo/stringtemplate-interest End  
>>>> of  stringtemplate-interest Digest, Vol 22, Issue 14   
>>>> *******************************************************
>>>>
>>> <harry.karadimas.vcf>
>>> _______________________________________________
>>> stringtemplate-interest mailing list
>>> stringtemplate-interest at antlr.org
>>> http://www.antlr.org:8080/mailman/listinfo/stringtemplate-interest
>>>
>>
>> _______________________________________________
>> stringtemplate-interest mailing list
>> stringtemplate-interest at antlr.org
>> http://www.antlr.org:8080/mailman/listinfo/stringtemplate-interest
>>
>



More information about the stringtemplate-interest mailing list