[ 
https://issues.apache.org/jira/browse/UIMA-4663?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Eckart de Castilho resolved UIMA-4663.
----------------------------------------------
    Resolution: Done

All the subtasks here have been addressed, so I think we can close this one as 
well.

> UV3 Represent Feature Structures as Java Objects
> ------------------------------------------------
>
>                 Key: UIMA-4663
>                 URL: https://issues.apache.org/jira/browse/UIMA-4663
>             Project: UIMA
>          Issue Type: Story
>          Components: Core Java Framework
>            Reporter: Marshall Schor
>            Priority: Major
>
> Switch the storage model for Feature Structures to align with Java's Object 
> Model, while preserving backwards compatibility.  
> This allows garbage collection of Feature Structures.
> There is likely a performance benefit by having the data in one place only, 
> with no conversions needed between the Java world and the data-on-the 
> int-heap world of V2. 
> JCasGen capability (optional) will create Java fields representing the 
> Feature values; getters will become simple get operations.  Setters are more 
> complex due to the need to support things like index corruption checking and 
> journaling (when using Delta Cas operations).
> Types without JCasGen'd classes will use generic Java class representation 
> and store their features in a couple of local collections.
> Mixing of these two approaches is also possible; e.g., the built-in type 
> Annotation defines begin / end fields, which are represented as Java fields.  
> Additional features may be represented by subtypes having no JCasGen'd class 
> definition, and those fields would be saved in the generic local collections. 
> The goal is to support fast/efficient access both with and without JCas-gen'd 
> classes.
> Assign for each new Feature Structure created in a CAS, an incrementing ID, 
> starting at 1. This id may be retrieved using a new FeatureStructure method 
> get_id().  
> Name new internal fields and methods to start with an underscore to avoid 
> collision with user-defined feature names, which cannot start with an 
> underscore.
> Update CASImpl to remove heaps, remove (unused) FSCache mechanism.  Update 
> JCasImpl to remove JCasHashMap, always have built-ins as JCas cover objects 
> (load them even if JCas isn't being used).  Convert Generators to use Java 8 
> method handles.  Add method handle bridge from non-JCas feature access to 
> JCas object access (where JCas objects exist), for getters and setters.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to