Re: Off-topic: Java Reflection/Generics/Collections question

2008-12-26 Thread Vladimir Tsvetkov
What you try to do is not a valid operation in type-safe language as Java.
You can't convert Coll to CollItemType,
but you can cast Coll? to CollWhatever.

Don't know if this is OK with the problem you're trying to solve

Merry Christmas!

On Fri, Dec 26, 2008 at 4:20 PM, Frank Staals franksta...@gmx.net wrote:

 Not realy a FreeBSD-specific question but I was not sure where I could find
 what I was looking for elseware (Googling did not manage to dig up much
 info):

 The problem:

 I want to set the type of objects some Collection object holds on runtime.
 In other wors I have an object C with: C extends AbstractCollection, I have
 the Class object T specifying what type of objects C should hold and I have
 a method M which takes a CT as an argument. I made a generic version of C
 (without the type) and now I have to set it so it can only carry objects of
 type T. Does anyone know how to do this ?

 Information in programming style:

 C extends AbstractCollection myCollection;
 Class itemType;


 public void myMethod(CitemType myCollectionArgument)

 How do I convert myCollection from being a C to a CitemType  on runtime
 so I can call myMethod(myCollection) ?

 I hope the explanation of my problem makes sense and someone can help me.

 Regards,


 --

 - Frank

 ___
 freebsd-questions@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/freebsd-questions
 To unsubscribe, send any mail to 
 freebsd-questions-unsubscr...@freebsd.org

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Off-topic: Java Reflection/Generics/Collections question

2008-12-26 Thread Frank Staals

Vladimir Tsvetkov wrote:
What you try to do is not a valid operation in type-safe language as 
Java.


You can't convert Coll to CollItemType, 
but you can cast Coll? to CollWhatever.


Don't know if this is OK with the problem you're trying to solve

Merry Christmas!

On Fri, Dec 26, 2008 at 4:20 PM, Frank Staals franksta...@gmx.net 
mailto:franksta...@gmx.net wrote:


Not realy a FreeBSD-specific question but I was not sure where I
could find what I was looking for elseware (Googling did not
manage to dig up much info):

The problem:

I want to set the type of objects some Collection object holds on
runtime. In other wors I have an object C with: C extends
AbstractCollection, I have the Class object T specifying what type
of objects C should hold and I have a method M which takes a CT
as an argument. I made a generic version of C (without the type)
and now I have to set it so it can only carry objects of type T.
Does anyone know how to do this ?

Information in programming style:

C extends AbstractCollection myCollection;
Class itemType;


public void myMethod(CitemType myCollectionArgument)

How do I convert myCollection from being a C to a CitemType  on
runtime so I can call myMethod(myCollection) ?

I hope the explanation of my problem makes sense and someone can
help me.

Regards,


-- 


- Frank

___
freebsd-questions@freebsd.org
mailto:freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to
freebsd-questions-unsubscr...@freebsd.org
mailto:freebsd-questions-unsubscr...@freebsd.org


Whell just after I posted my mail to this list I realized that I may 
have fogotten to mention something:


I want to do the 'conversion' because the myCollection Collection is 
still empty. So in other words I want to create a new collection and 
fill it. However I do not know the type
of the items I want to put in beforehand so it has to occur dynamically. 
So an equivalent question may be: How do I create a new  'C extends 
AbstractCollectionitemType' using reflection ?


--

- Frank

___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org