You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by harshal patni <pa...@gmail.com> on 2013/09/30 06:33:12 UTC
UIMA Feature
Hi,
I am trying to create a feature within my TypeSystemDescriptor. I would
like to create a feature of type ArrayList<ArrayList> "ArrayList of
Arraylist". Is it possible to create this feature? How would we do that?
Harshal
Re: UIMA Feature
Posted by Richard Eckart de Castilho <re...@apache.org>.
> FSArray<Y>, Y = ElementList = FSArray<X>, X = TOP
Mind, my example is not exactly what is written here.
Y = ElementList = FSArray<X>
would may look like ElementList inherits from FSArray and just binds the generic
variable X. However, the FSArray<X> is actually a feature in ElementList. That
is because it is not possible to inherit from FSArray.
Cheers,
-- Richard
On 30.09.2013, at 09:35, Richard Eckart de Castilho <re...@apache.org> wrote:
> That's an interesting question. This should work:
>
> Create a type:
>
> ElementList {
> FSArray<TOP> elements;
> }
>
> In the type where you want to create the ArrayList<ArrayList> feature,
> add a this:
>
> … {
> FSArray<ElementList> elements;
> }
>
> When you say ArrayList<ArrayList>, this can also be written as
>
> ArrayList<ArrayList> ->
> ArrayList<ArrayList<X>>, X = Object ->
> ArrayList<Y>, Y = ArrayList<X>, X = Object
>
> In Java, this Y can be anonymous, but in UIMA, afaik we need to make it
> explicit. Mind there is no "Object" in UIMA, the equivalent is "TOP":
>
> FSArray<Y>, Y = ElementList = FSArray<X>, X = TOP
>
> You should be able to replace FSArray with FSList if you prefer that.
>
> -- Richard
>
> On 30.09.2013, at 06:33, harshal patni <pa...@gmail.com> wrote:
>
>> Hi,
>> I am trying to create a feature within my TypeSystemDescriptor. I would
>> like to create a feature of type ArrayList<ArrayList> "ArrayList of
>> Arraylist". Is it possible to create this feature? How would we do that?
>>
>> Harshal
>
Re: UIMA Feature
Posted by Richard Eckart de Castilho <re...@apache.org>.
That's an interesting question. This should work:
Create a type:
ElementList {
FSArray<TOP> elements;
}
In the type where you want to create the ArrayList<ArrayList> feature,
add a this:
… {
FSArray<ElementList> elements;
}
When you say ArrayList<ArrayList>, this can also be written as
ArrayList<ArrayList> ->
ArrayList<ArrayList<X>>, X = Object ->
ArrayList<Y>, Y = ArrayList<X>, X = Object
In Java, this Y can be anonymous, but in UIMA, afaik we need to make it
explicit. Mind there is no "Object" in UIMA, the equivalent is "TOP":
FSArray<Y>, Y = ElementList = FSArray<X>, X = TOP
You should be able to replace FSArray with FSList if you prefer that.
-- Richard
On 30.09.2013, at 06:33, harshal patni <pa...@gmail.com> wrote:
> Hi,
> I am trying to create a feature within my TypeSystemDescriptor. I would
> like to create a feature of type ArrayList<ArrayList> "ArrayList of
> Arraylist". Is it possible to create this feature? How would we do that?
>
> Harshal