<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-17035</id>
	<title>Nabble - Apache Labs</title>
	<updated>2009-12-09T13:45:52Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Apache-Labs-f17035.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Apache-Labs-f17035.html" />
	<subtitle type="html">&lt;a href=&quot;http://labs.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Apache Labs&lt;/a&gt;&amp;nbsp;is a place for innovation where committers of the foundation can experiment with new ideas. The aim is to provide the necessary resource to promote and maintain the innovative power within the Apache community without the burden of community building.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26717991</id>
	<title>Re: svn commit: r886691 [3/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-09T13:45:52Z</published>
	<updated>2009-12-09T13:45:52Z</updated>
	<author>
		<name>Pinaki Poddar</name>
	</author>
	<content type="html">&amp;gt; Is it correct to assume that the code from r886691 is neither your own nor Apache-licensed? 
&lt;br&gt;&lt;br&gt;No. The code as it exists in SVN is primarily developed by me. Sergio's code contribution is based on original Fluid code and I had taken effort to integrate/refactor his contribution (with his permission) back to Fluid. &amp;nbsp; 
&lt;br&gt;The change made to Abe's original code is somewhat different. It is singular change that should ideally be integrated to serp [1]. But till that happens we are using an implementation inside Fluid. Once the change is incorporated in original serp library -- I will remove the Fluid's *transient* implementation. 
&lt;br&gt;&lt;br&gt;&amp;gt; If yes, it might be better to remove the code from ASF's svn until this is all resolved.
&lt;br&gt;I had added ASL header wherever missing. Removed Sergio/Abe's authorship &amp;nbsp;temporarily till this issue is resolved to everyone's satisfaction.
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://serp.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://serp.sourceforge.net/&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Bernd Fondermann wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi Pinaki,
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PS: it is Pinaki, but I have seen lot of variations on that moniker :)
&lt;br&gt;&lt;br&gt;First and foremost: Sorry, don't know how I came around with other
&lt;br&gt;spellings of your name. I apologize.
&lt;br&gt;&lt;br&gt;Pinaki Poddar wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;nbsp; This is a patch on Serp -- originally written by my erstwhile colleague
&lt;br&gt;&amp;gt; Abe White. 
&lt;br&gt;&lt;br&gt;What is Serp?
&lt;br&gt;&lt;br&gt;&amp;gt; A singular change was necessary to get it working for some
&lt;br&gt;&amp;gt; annotation arrays. I had written to Abe to integrate this change into Serp 
&lt;br&gt;&amp;gt; -- but so far it has not happened. That is why the code appears in here --
&lt;br&gt;&amp;gt; but this is a transient.
&lt;br&gt;&lt;br&gt;I'm not sure I'm satisfied with these explanations for this commit.
&lt;br&gt;And I'm confused.
&lt;br&gt;&lt;br&gt;Where has the code been contributed, physically? Is there a JIRA
&lt;br&gt;attachement somewhere or something equivalent?
&lt;br&gt;What code has been contributed by Sergio, what by Abe?
&lt;br&gt;&lt;br&gt;Many of the committed files lack a proper license header.
&lt;br&gt;&lt;br&gt;Is it correct to assume that the code from r886691 is neither your own
&lt;br&gt;nor Apache-licensed? If yes, it might be better to remove the code from
&lt;br&gt;ASF's svn until this is all resolved.
&lt;br&gt;&lt;br&gt;&amp;gt; That is why the code appears in here --
&lt;br&gt;&amp;gt; but this is a transient.
&lt;br&gt;&lt;br&gt;What does that mean?
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bernd Fondermann wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Pina,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; please could you clarify the origins of the code below?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; Bernd
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ppoddar@apache.org wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Added: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/main/java/serp/bytecode/Annotation.java (added)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/main/java/serp/bytecode/Annotation.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -0,0 +1,1010 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +package serp.bytecode;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.io.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.lang.reflect.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.util.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.bytecode.lowlevel.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.bytecode.visitor.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.util.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * A declared annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * @author Abe White
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +public class Annotation implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_VALUEOF = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_NAME = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;static {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class c = Class.forName(&amp;quot;java.lang.Enum&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_VALUEOF = c.getMethod(&amp;quot;valueOf&amp;quot;, new Class[] {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class.class, String.class });
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_NAME = c.getMethod(&amp;quot;name&amp;quot;, (Class[]) null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// pre-1.5 JDK
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private BCEntity _owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private int _typeIndex = 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private List _properties = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;Annotation(BCEntity owner) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Annotations are stored in an {@link Annotations} table or as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * part of an {@link Annotation} property value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCEntity getOwner() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public int getTypeIndex() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _typeIndex;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setTypeIndex(int index) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = index;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The name of this annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public String getTypeName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String desc = ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(_typeIndex)).getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm(desc, false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The {@link Class} object for this annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Class getType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Strings.toClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The bytecode for the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCClass getTypeBC() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().loadClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(String type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type = getProject().getNameCache().getInternalForm(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(Class type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(BCClass type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * All declared properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property[] getProperties() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Property[0];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Property[]) _properties.toArray
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(new Property[_properties.size()]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Set the annotation properties. &amp;nbsp;This method is useful when
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * importing properties from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setProperties(Property[] props) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addProperty(props[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Return the property with the given name, or null if none.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property getProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Import a property from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return the newly added property
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(Property p) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = addProperty(p.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setValue(p.getValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a new property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = new Property(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setName(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Clear all annotation properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void clearProperties() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).invalidate();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.clear();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the given property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if an property was removed, false otherwise
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(Property prop) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop != null &amp;&amp; removeProperty(prop.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the property with the given name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if a property was removed, false otherwise
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name == null || _properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.invalidate();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.remove(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).acceptVisit(visit);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 4;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += ((Property) _properties.get(i)).getLength();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int props = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props &amp;gt; 0) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList(props);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = new Property(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.read(in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_typeIndex); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort((_properties == null) ? 0 : _properties.size());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).write(out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * An annotation property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public static class Property implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation _owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int _nameIndex = 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private final Value _value = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Value[] _values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property(Annotation owner) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * The owning annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotation() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getNameIndex() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _nameIndex;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setNameIndex(int index) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = index;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(_nameIndex)).getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setName(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the value of the property as its wrapper type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns class values as the class name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object getValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getValue(_value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] vals = new Object[_values.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; vals.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vals[i] = getValue(_values[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return vals;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Extract the Java value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Object getValue(Value val) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index == -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return val.value;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object o = ((ConstantEntry) getPool().getEntry(val.index)).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getConstant();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// enum value
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String e = getProject().getNameCache().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getExternalForm((String) o, false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(val.index2)).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class cls = Class.forName(e, true,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getClassLoader()); &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ENUM_VALUEOF.invoke(null, new Object[] {cls,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; name});
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return e + &amp;quot;.&amp;quot; + name;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b': 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == boolean.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (((Number) o).intValue() != 0) ? Boolean.TRUE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Boolean.FALSE;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Byte(((Number) o).byteValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Character((char) ((Number) o).intValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getProject().getNameCache().getExternalForm((String) o, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Short(((Number) o).shortValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set value of this property. The value should be an instance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * primitive wrapper type, String, Class, BCClass, an enum
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constant,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * an annotation, or an array of any of these types.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Object value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!value.getClass().isArray()) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[Array.getLength(value)];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_values[i], Array.get(value, i));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, Object o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o instanceof String) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (String) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Boolean)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Boolean) o).booleanValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Byte)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Byte) o).byteValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Character)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Character) o).charValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Double)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Double) o).doubleValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Float)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Float) o).floatValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Integer)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Integer) o).intValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Long)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Long) o).longValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Short)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Short) o).shortValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((Class) o).getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof BCClass)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((BCClass) o).getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Annotation)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (Annotation) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = getEnumName(o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String type = getProject().getNameCache().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getInternalForm(o.getClass().getName(), true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = o.getClass();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this enum value, or null if not an enum.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static String getEnumName(Object o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Class c = o.getClass(); true; c = c.getSuperclass()) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == Object.class || c == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (&amp;quot;java.lang.Enum&amp;quot;.equals(c.getName()))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) ENUM_NAME.invoke(o, (Object[]) null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o.toString();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the string value of this property, or null if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getStringValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the boolean value of this property, or false if not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean getBooleanValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? false : ((Boolean)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).booleanValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the byte value of this property, or false if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public byte getByteValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (byte) 0 : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).byteValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the int value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getIntValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0 : ((Number) value).intValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the long value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public long getLongValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0L : ((Number) value).longValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the float value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public float getFloatValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0F : ((Number) value).floatValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the double value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public double getDoubleValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0D : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).doubleValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the short value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public short getShortValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (short) 0 : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).shortValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the class value of this property, or null if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getClassNameValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the annotation value of this property, or null if not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotationValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Annotation) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(String value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, String o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(boolean value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, boolean o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (o) ? 1 : 0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(byte value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, byte o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(int value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, int o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findIntEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(long value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, long o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findLongEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(float value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, float o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findFloatEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(double value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, double o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findDoubleEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(short value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, short o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = short.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Class value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(BCClass value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setClassNameValue(String value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setClassNameValue(Value val, String o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;o = getProject().getNameCache().getInternalForm(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation setValue(Annotation value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation setValue(Value val, Annotation o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(o.getTypeName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setProperties(o.getProperties());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] setValue(Annotation[] value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[value.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[value.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = setValue(_values[i], value[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(Class type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(BCClass type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(String type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(Class type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(BCClass type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(String type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[length]; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i].setType(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].value = ret[i];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null &amp;&amp; (_values != null || _value.index !=
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| _value.value != null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotationProperty(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotationProperty(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 2; // name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += 3; // arr length + tag
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_values[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the length of the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int getLength(Value val) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 5; // tag + enum type + enum name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index != -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 3; // tag + constant or class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 1 + ((Annotation) val.value).getLength(); // tag +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; anno
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = in.readUnsignedShort(); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int tag = in.readByte();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tag == '[') {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[len];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; len; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_values[i], in.readByte(), in); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_value, tag, in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Read data into the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void read(Value val, int tag, DataInput in) throws
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (tag) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'B':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'C':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = char.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'D':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'F':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'I':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'J':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'S':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'Z':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'e':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case '@':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.read(in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(String.valueOf(tag));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_nameIndex);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_value, out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('[');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_values.length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_values[i], out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Write the data for the given value to the stream.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void write(Value val, DataOutput out) throws IOException
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('e');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index2);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (val.index != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == byte.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('B');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('Z');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('C');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('c');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('S');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IllegalStateException(val.type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Entry entry = getPool().getEntry(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (entry instanceof DoubleEntry) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('D');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof FloatEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('F');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof IntEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('I');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof LongEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('J');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('s');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IllegalStateException(entry.getClass().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('@');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Annotation) val.value).write(out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Property value struct.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */ 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static class Value {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Class type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Propchange: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -1,3 +1,8 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +generate-unenhanced: Generating dynamic Java class {0} using classloader
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +generate-enhanced: Enhancing dynamic Java class {0} using classloader
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +load-enhanced: Loaded dynamic, enhanced Java class {0} into JVM using
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classloader {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +load-enhanced-error: Error while loading dynamic, enhanced Java class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;type-mapping-new: Creating new SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;type-mapping-resolve: Resolving SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;resolve-mapping-failed: No cached metadata found for &amp;quot;{0}&amp;quot; in &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestCRUD.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestCRUD.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -13,8 +13,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * Test basic CRUD operation with a simpleton Type that has no relation
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * primitive properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * Test basic CRUD operation with a simpleton SDO Type that has no
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; relation but primitive properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -99,9 +98,10 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			dataObject.setString(&amp;quot;firstName&amp;quot;, &amp;quot;Ron&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			em.getTransaction().begin();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			DataObject merged = em.merge(dataObject);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			assertNotSame(merged, dataObject);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			em.getTransaction().commit();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertEquals(&amp;quot;Ron&amp;quot;, merged.getString(&amp;quot;firstName&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			int after = count(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertEquals(before, after);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -138,7 +138,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	// START SNIPPET:createPerson
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	DataObject createPerson(String ssn, String first, String last, int age)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type type = getType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type type = getSDOType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		DataObject data = DataFactory.INSTANCE.create(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		data.set(&amp;quot;ssn&amp;quot;, ssn);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		data.setString(&amp;quot;firstName&amp;quot;, first);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Added: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestConfiguration.java (added)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestConfiguration.java Thu Dec 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -0,0 +1,27 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +package example.basic;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import javax.persistence.EntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.persistence.test.SingleEMFTestCase;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDODynamicClassResolver;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +public class TestConfiguration extends AbstractSDOTest {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManagerFactory() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(emf);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManager() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EntityManager em = emf.createEntityManager();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(em);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(em instanceof SDOEntityManager);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testClassResolver() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf.getConfiguration().getClassResolverInstance()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; instanceof SDODynamicClassResolver);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Propchange: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestRelation.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestRelation.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -149,8 +149,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	DataObject createPurchaseOrder() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		DataObject purchaseOrder =
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java Thu Dec 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -37,20 +37,20 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;public class TestSDO extends AbstractSDOTest {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testPackage() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(addressType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		String pkg = ImplHelper.getPackageName(addressType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertEquals(&amp;quot;example.domain&amp;quot;,pkg);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testInstanceClassIsNullForUserType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertFalse(addressType.isDataType());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNull(addressType.getInstanceClass());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testIdentityType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type poType = getType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type poType = getSDOType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(poType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		Property id2 = ImplHelper.getIdentityProperty(poType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(id2);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -64,8 +64,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testCreateModel() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		DataObject purchaseOrder =
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -90,20 +90,20 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			//good
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			//good
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/test/common/AbstractSDOTest.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/test/common/AbstractSDOTest.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -25,16 +25,15 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import junit.framework.TestCase;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.meta.MetaDataFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -import org.apache.openjpa.meta.MetaDataRepository;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.persistence.OpenJPAEntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -import org.apache.openjpa.sdo.SDOMappingRepository;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOMetaDataFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOTypeParser;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import commonj.sdo.Type;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * Abstract Test case sets up JPA persitence unt and SDO metadata from
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * Abstract Test case sets up JPA persistence unit and SDO meta data
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; from XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * schema.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -42,7 +41,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;public abstract class AbstractSDOTest extends TestCase {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	protected static SDOEntityManagerFactory emf;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	protected static SDOMappingRepository repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +	protected static SDOMetaDataFactory repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Obtain a EntityManagerFactory and initialize SDO Types.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -54,26 +53,24 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertNotNull(tmp);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertTrue(tmp instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			emf = (SDOEntityManagerFactory)tmp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			emf.createEntityManager();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	SDOMappingRepository getRepos() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +	SDOMetaDataFactory getRepos() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		if (repos == null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			MetaDataFactory mdf = emf.getConfiguration()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			.getMetaDataRepositoryInstance().getMetaDataFactory();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertTrue(mdf instanceof SDOMetaDataFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			repos = ((SDOMetaDataFactory)mdf).getSDOMappingRepository();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			repos = (SDOMetaDataFactory)mdf;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		return repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	 * Gets the type of given name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	protected Type getType(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		return getRepos().getType(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;protected Type getSDOType(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return SDOTypeParser.findType(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Count number of persistent instances of the given alias.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -88,6 +85,6 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Get the name of the persistence unit to be used by this receiver.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	protected String getPersistenceUnitName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;sdo&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/resources/META-INF/persistence.xml (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/resources/META-INF/persistence.xml Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -1,19 +1,29 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;persistence xmlns=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; version=&amp;quot;1.0&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;test&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;sdo&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		&amp;lt;description&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Persistence unit for testing Fluid.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; The configuration properties are essentially same as any other
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; JPA application except
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i) openjpa.EntityManagerFactory must be set to &amp;quot;sdo&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; and ii) openjpa.MetaDataFactory must be set as shown with XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; schema definitions.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Also set openjpa.DynamicEnhancementAgent to &amp;quot;false&amp;quot; because
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Fluid generates the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; enhanced bytecode for SDO Types dynamically.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;sdo(Resources=META-INF/person.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;sdo(Resources=META-INF/person.xsd;META-INF/po.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.DynamicEnhancementAgent&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;jdbc:mysql://localhost/SDO2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;hello&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;jdbc:mysql://localhost/fluid&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; &amp;nbsp; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; &amp;nbsp; value=&amp;quot;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;buildSchema&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;DefaultLevel=TRACE, SQL=TRACE,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.BrokerImpl&amp;quot; value=&amp;quot;non-finalizing&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;DefaultLevel=WARN, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/persistence-unit&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;/persistence&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: commits-help@labs.apache.org
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: labs-unsubscribe@labs.apache.org
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: labs-help@labs.apache.org
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: labs-unsubscribe@labs.apache.org
&lt;br&gt;For additional commands, e-mail: labs-help@labs.apache.org
&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--3-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682324p26717991.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26716477</id>
	<title>Re: svn commit: r886691 [3/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-09T11:46:00Z</published>
	<updated>2009-12-09T11:46:00Z</updated>
	<author>
		<name>Bernd Fondermann</name>
	</author>
	<content type="html">Hi Pinaki,
&lt;br&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; PS: it is Pinaki, but I have seen lot of variations on that moniker :)
&lt;br&gt;&lt;br&gt;First and foremost: Sorry, don't know how I came around with other
&lt;br&gt;spellings of your name. I apologize.
&lt;br&gt;&lt;br&gt;Pinaki Poddar wrote:
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; &amp;nbsp; This is a patch on Serp -- originally written by my erstwhile colleague
&lt;br&gt;&amp;gt; Abe White. 
&lt;br&gt;&lt;br&gt;What is Serp?
&lt;br&gt;&lt;br&gt;&amp;gt; A singular change was necessary to get it working for some
&lt;br&gt;&amp;gt; annotation arrays. I had written to Abe to integrate this change into Serp 
&lt;br&gt;&amp;gt; -- but so far it has not happened. That is why the code appears in here --
&lt;br&gt;&amp;gt; but this is a transient.
&lt;br&gt;&lt;br&gt;I'm not sure I'm satisfied with these explanations for this commit.
&lt;br&gt;And I'm confused.
&lt;br&gt;&lt;br&gt;Where has the code been contributed, physically? Is there a JIRA
&lt;br&gt;attachement somewhere or something equivalent?
&lt;br&gt;What code has been contributed by Sergio, what by Abe?
&lt;br&gt;&lt;br&gt;Many of the committed files lack a proper license header.
&lt;br&gt;&lt;br&gt;Is it correct to assume that the code from r886691 is neither your own
&lt;br&gt;nor Apache-licensed? If yes, it might be better to remove the code from
&lt;br&gt;ASF's svn until this is all resolved.
&lt;br&gt;&lt;br&gt;&amp;gt; That is why the code appears in here --
&lt;br&gt;&amp;gt; but this is a transient.
&lt;br&gt;&lt;br&gt;What does that mean?
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Bernd Fondermann wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Pina,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; please could you clarify the origins of the code below?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; Bernd
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ppoddar@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Added: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/main/java/serp/bytecode/Annotation.java (added)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/main/java/serp/bytecode/Annotation.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -0,0 +1,1010 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +package serp.bytecode;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.io.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.lang.reflect.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import java.util.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.bytecode.lowlevel.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.bytecode.visitor.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import serp.util.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * A declared annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * @author Abe White
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +public class Annotation implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_VALUEOF = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_NAME = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;static {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class c = Class.forName(&amp;quot;java.lang.Enum&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_VALUEOF = c.getMethod(&amp;quot;valueOf&amp;quot;, new Class[] {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class.class, String.class });
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_NAME = c.getMethod(&amp;quot;name&amp;quot;, (Class[]) null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// pre-1.5 JDK
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private BCEntity _owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private int _typeIndex = 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private List _properties = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;Annotation(BCEntity owner) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Annotations are stored in an {@link Annotations} table or as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * part of an {@link Annotation} property value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCEntity getOwner() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public int getTypeIndex() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _typeIndex;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setTypeIndex(int index) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = index;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The name of this annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public String getTypeName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String desc = ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(_typeIndex)).getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm(desc, false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The {@link Class} object for this annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Class getType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Strings.toClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The bytecode for the type of this annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCClass getTypeBC() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().loadClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(String type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type = getProject().getNameCache().getInternalForm(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(Class type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(BCClass type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * All declared properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property[] getProperties() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Property[0];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Property[]) _properties.toArray
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(new Property[_properties.size()]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Set the annotation properties. &amp;nbsp;This method is useful when
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * importing properties from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setProperties(Property[] props) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addProperty(props[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Return the property with the given name, or null if none.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property getProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Import a property from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return the newly added property
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(Property p) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = addProperty(p.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setValue(p.getValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a new property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = new Property(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setName(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Clear all annotation properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void clearProperties() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).invalidate();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.clear();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the given property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if an property was removed, false otherwise
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(Property prop) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop != null &amp;&amp; removeProperty(prop.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the property with the given name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if a property was removed, false otherwise
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name == null || _properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.invalidate();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.remove(i);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).acceptVisit(visit);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 4;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += ((Property) _properties.get(i)).getLength();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int props = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props &amp;gt; 0) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList(props);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = new Property(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.read(in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_typeIndex); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort((_properties == null) ? 0 : _properties.size());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).write(out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * An annotation property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public static class Property implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation _owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int _nameIndex = 0;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private final Value _value = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Value[] _values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property(Annotation owner) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * The owning annotation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotation() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getNameIndex() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _nameIndex;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setNameIndex(int index) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = index;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(_nameIndex)).getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the name of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setName(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the value of the property as its wrapper type.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns class values as the class name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object getValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getValue(_value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] vals = new Object[_values.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; vals.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vals[i] = getValue(_values[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return vals;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Extract the Java value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Object getValue(Value val) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index == -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return val.value;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object o = ((ConstantEntry) getPool().getEntry(val.index)).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getConstant();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// enum value
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String e = getProject().getNameCache().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getExternalForm((String) o, false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = ((UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getPool().getEntry(val.index2)).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class cls = Class.forName(e, true,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getClassLoader()); &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ENUM_VALUEOF.invoke(null, new Object[] {cls,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; name});
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return e + &amp;quot;.&amp;quot; + name;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b': 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == boolean.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (((Number) o).intValue() != 0) ? Boolean.TRUE
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Boolean.FALSE;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Byte(((Number) o).byteValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Character((char) ((Number) o).intValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; getProject().getNameCache().getExternalForm((String) o, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;false);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Short(((Number) o).shortValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set value of this property. The value should be an instance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of any
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * primitive wrapper type, String, Class, BCClass, an enum
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constant,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * an annotation, or an array of any of these types.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Object value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!value.getClass().isArray()) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[Array.getLength(value)];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_values[i], Array.get(value, i));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, Object o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o instanceof String) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (String) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Boolean)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Boolean) o).booleanValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Byte)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Byte) o).byteValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Character)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Character) o).charValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Double)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Double) o).doubleValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Float)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Float) o).floatValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Integer)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Integer) o).intValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Long)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Long) o).longValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Short)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Short) o).shortValue());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((Class) o).getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof BCClass)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((BCClass) o).getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Annotation)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (Annotation) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = getEnumName(o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String type = getProject().getNameCache().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getInternalForm(o.getClass().getName(), true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = o;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = o.getClass();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this enum value, or null if not an enum.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static String getEnumName(Object o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Class c = o.getClass(); true; c = c.getSuperclass()) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == Object.class || c == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (&amp;quot;java.lang.Enum&amp;quot;.equals(c.getName()))
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) ENUM_NAME.invoke(o, (Object[]) null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o.toString();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the string value of this property, or null if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getStringValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the boolean value of this property, or false if not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean getBooleanValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? false : ((Boolean)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).booleanValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the byte value of this property, or false if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public byte getByteValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (byte) 0 : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).byteValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the int value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getIntValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0 : ((Number) value).intValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the long value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public long getLongValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0L : ((Number) value).longValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the float value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public float getFloatValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0F : ((Number) value).floatValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the double value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public double getDoubleValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0D : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).doubleValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the short value of this property, or 0 if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public short getShortValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (short) 0 : ((Number)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value).shortValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the class value of this property, or null if not set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getClassNameValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the annotation value of this property, or null if not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; set.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotationValue() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Annotation) getValue();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(String value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, String o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(boolean value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, boolean o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (o) ? 1 : 0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(byte value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, byte o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(int value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, int o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findIntEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(long value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, long o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findLongEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(float value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, float o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findFloatEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(double value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, double o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findDoubleEntry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(short value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, short o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = short.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Class value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(BCClass value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setClassNameValue(String value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setClassNameValue(Value val, String o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;o = getProject().getNameCache().getInternalForm(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation setValue(Annotation value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return setValue(_value, value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation setValue(Value val, Annotation o) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(o.getTypeName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setProperties(o.getProperties());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] setValue(Annotation[] value) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[value.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[value.length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = setValue(_values[i], value[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(Class type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(BCClass type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; type, 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(String type) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(Class type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(BCClass type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; given type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(String type, int
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; length) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[length]; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[length];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i].setType(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].value = ret[i];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null &amp;&amp; (_values != null || _value.index !=
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -1
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| _value.value != null);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotationProperty(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotationProperty(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 2; // name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_value);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += 3; // arr length + tag
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_values[i]);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the length of the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int getLength(Value val) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 5; // tag + enum type + enum name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index != -1)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 3; // tag + constant or class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 1 + ((Annotation) val.value).getLength(); // tag +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; anno
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = in.readUnsignedShort(); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int tag = in.readByte();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tag == '[') {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[len];
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; len; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_values[i], in.readByte(), in); 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_value, tag, in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Read data into the given value.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void read(Value val, int tag, DataInput in) throws
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (tag) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'B':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'C':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = char.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'D':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'F':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'I':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'J':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'S':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'Z':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'e':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = in.readUnsignedShort();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case '@':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.read(in);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(String.valueOf(tag));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_nameIndex);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_value, out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('[');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_values.length);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_values[i], out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Write the data for the given value to the stream.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void write(Value val, DataOutput out) throws IOException
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('e');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index2);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (val.index != -1) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type != null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == byte.class)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('B');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('Z');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('C');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('c');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('S');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IllegalStateException(val.type.getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Entry entry = getPool().getEntry(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (entry instanceof DoubleEntry) 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('D');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof FloatEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('F');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof IntEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('I');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof LongEntry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('J');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof UTF8Entry)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('s');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; IllegalStateException(entry.getClass().
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getName());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('@');
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Annotation) val.value).write(out);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Property value struct.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */ 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static class Value {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index2 = -1;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Class type = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object value = null;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Propchange: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -1,3 +1,8 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +generate-unenhanced: Generating dynamic Java class {0} using classloader
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +generate-enhanced: Enhancing dynamic Java class {0} using classloader
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +load-enhanced: Loaded dynamic, enhanced Java class {0} into JVM using
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; classloader {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +load-enhanced-error: Error while loading dynamic, enhanced Java class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;type-mapping-new: Creating new SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;type-mapping-resolve: Resolving SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;resolve-mapping-failed: No cached metadata found for &amp;quot;{0}&amp;quot; in &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestCRUD.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestCRUD.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -13,8 +13,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * Test basic CRUD operation with a simpleton Type that has no relation
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * primitive properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * Test basic CRUD operation with a simpleton SDO Type that has no
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; relation but primitive properties.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; *
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -99,9 +98,10 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			dataObject.setString(&amp;quot;firstName&amp;quot;, &amp;quot;Ron&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			em.getTransaction().begin();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			DataObject merged = em.merge(dataObject);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			assertNotSame(merged, dataObject);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			em.getTransaction().commit();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertEquals(&amp;quot;Ron&amp;quot;, merged.getString(&amp;quot;firstName&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			int after = count(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertEquals(before, after);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -138,7 +138,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	// START SNIPPET:createPerson
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	DataObject createPerson(String ssn, String first, String last, int age)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type type = getType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type type = getSDOType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		DataObject data = DataFactory.INSTANCE.create(type);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		data.set(&amp;quot;ssn&amp;quot;, ssn);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		data.setString(&amp;quot;firstName&amp;quot;, first);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Added: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestConfiguration.java (added)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestConfiguration.java Thu Dec 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -0,0 +1,27 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +package example.basic;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import javax.persistence.EntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.persistence.test.SingleEMFTestCase;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDODynamicClassResolver;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +public class TestConfiguration extends AbstractSDOTest {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManagerFactory() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(emf);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManager() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EntityManager em = emf.createEntityManager();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(em);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(em instanceof SDOEntityManager);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testClassResolver() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf.getConfiguration().getClassResolverInstance()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; instanceof SDODynamicClassResolver);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Propchange: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestRelation.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestRelation.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -149,8 +149,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	DataObject createPurchaseOrder() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		DataObject purchaseOrder =
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java Thu Dec 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -37,20 +37,20 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;public class TestSDO extends AbstractSDOTest {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testPackage() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(addressType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		String pkg = ImplHelper.getPackageName(addressType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertEquals(&amp;quot;example.domain&amp;quot;,pkg);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testInstanceClassIsNullForUserType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertFalse(addressType.isDataType());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNull(addressType.getInstanceClass());
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testIdentityType() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		Type poType = getType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		Type poType = getSDOType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(poType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		Property id2 = ImplHelper.getIdentityProperty(poType);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		assertNotNull(id2);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -64,8 +64,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	public void testCreateModel() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		DataObject purchaseOrder =
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -90,20 +90,20 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			//good
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		try {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//			//good
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +//	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/java/test/common/AbstractSDOTest.java (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/java/test/common/AbstractSDOTest.java Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -25,16 +25,15 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import junit.framework.TestCase;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.meta.MetaDataFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -import org.apache.openjpa.meta.MetaDataRepository;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.persistence.OpenJPAEntityManager;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -import org.apache.openjpa.sdo.SDOMappingRepository;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOMetaDataFactory;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +import org.apache.openjpa.sdo.SDOTypeParser;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;import commonj.sdo.Type;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - * Abstract Test case sets up JPA persitence unt and SDO metadata from
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + * Abstract Test case sets up JPA persistence unit and SDO meta data
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; from XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * schema.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -42,7 +41,7 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;public abstract class AbstractSDOTest extends TestCase {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	protected static SDOEntityManagerFactory emf;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	protected static SDOMappingRepository repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +	protected static SDOMetaDataFactory repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Obtain a EntityManagerFactory and initialize SDO Types.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -54,26 +53,24 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertNotNull(tmp);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertTrue(tmp instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			emf = (SDOEntityManagerFactory)tmp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			emf.createEntityManager();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	SDOMappingRepository getRepos() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +	SDOMetaDataFactory getRepos() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		if (repos == null) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			MetaDataFactory mdf = emf.getConfiguration()
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			.getMetaDataRepositoryInstance().getMetaDataFactory();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			assertTrue(mdf instanceof SDOMetaDataFactory);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			repos = ((SDOMetaDataFactory)mdf).getSDOMappingRepository();
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			repos = (SDOMetaDataFactory)mdf;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		return repos;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	 * Gets the type of given name.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	protected Type getType(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		return getRepos().getType(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;protected Type getSDOType(String name) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return SDOTypeParser.findType(name);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Count number of persistent instances of the given alias.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -88,6 +85,6 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 * Get the name of the persistence unit to be used by this receiver.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	protected String getPersistenceUnitName() {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;sdo&amp;quot;);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Modified: labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; URL:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --- labs/fluid/src/test/resources/META-INF/persistence.xml (original)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +++ labs/fluid/src/test/resources/META-INF/persistence.xml Thu Dec &amp;nbsp;3
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 07:41:56 2009
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; @@ -1,19 +1,29 @@
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;persistence xmlns=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; version=&amp;quot;1.0&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;test&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;sdo&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		&amp;lt;description&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Persistence unit for testing Fluid.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; The configuration properties are essentially same as any other
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; JPA application except
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i) openjpa.EntityManagerFactory must be set to &amp;quot;sdo&amp;quot; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; and ii) openjpa.MetaDataFactory must be set as shown with XML
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; schema definitions.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Also set openjpa.DynamicEnhancementAgent to &amp;quot;false&amp;quot; because
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Fluid generates the 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; enhanced bytecode for SDO Types dynamically.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 		&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;		&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;sdo(Resources=META-INF/person.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;sdo(Resources=META-INF/person.xsd;META-INF/po.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.DynamicEnhancementAgent&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;jdbc:mysql://localhost/SDO2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;hello&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;jdbc:mysql://localhost/fluid&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; &amp;nbsp; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; &amp;nbsp; value=&amp;quot;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;buildSchema&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;DefaultLevel=TRACE, SQL=TRACE,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.BrokerImpl&amp;quot; value=&amp;quot;non-finalizing&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; - &amp;nbsp; 			
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; value=&amp;quot;DefaultLevel=WARN, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/persistence-unit&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;/persistence&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26716477&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--3-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682324p26716477.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26713812</id>
	<title>Re: svn commit: r886691 [1/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-09T09:09:08Z</published>
	<updated>2009-12-09T09:09:08Z</updated>
	<author>
		<name>Pinaki Poddar</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&amp;nbsp; This is Dr.Sergio Tabanelli [1]. He had used Fluid for building a service [2] and in the process made significant contributions. He has been added as a developer in Fluid project. In fact, the recent commits are mainly to integrate his contribution into Fluid.
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://it.linkedin.com/pub/sergio-tabanelli/10/a88/7bb&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://it.linkedin.com/pub/sergio-tabanelli/10/a88/7bb&lt;/a&gt;&lt;br&gt;[2] &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/tuscany-user/200905.mbox/%3CC4D1C4901F08E545A4C1D323E5ECDE3D01FDCB48@POSTA02.itmaster.local%3E&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail-archives.apache.org/mod_mbox/tuscany-user/200905.mbox/%3CC4D1C4901F08E545A4C1D323E5ECDE3D01FDCB48@POSTA02.itmaster.local%3E&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Bernd Fondermann wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi Pina,
&lt;br&gt;&lt;br&gt;please, could elaborate about the contributor's identity?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;ppoddar@apache.org wrote:
&lt;br&gt;&amp;gt; Author: ppoddar
&lt;br&gt;&amp;gt; Date: Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; New Revision: 886691
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=886691&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=886691&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; Log:
&lt;br&gt;&amp;gt; Major update from Sergio's contribution. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Added:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/example/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/example/domain/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/BiDiMapID.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDODynamicClassResolver.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEndTransactionListener.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/ContainedIdenticalTypeMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/ContainerRelationMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddableIdenticalTypeMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddedRelationListMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddedRelationMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategyInstaller.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; - copied, changed from r778535, labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategy.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/bytecode/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/bytecode/Annotation.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestConfiguration.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; Removed:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOMappingRepository.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOTypeRepository.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/TypeNotFoundException.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategy.java
&lt;br&gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/BiDiMap.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/ImplHelper.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDO2POJOGenerator.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDODelegatingResultList.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEntityManager.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEntityManagerFactory.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOInstanceMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOMetaDataFactory.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOProductDerivation.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOQuery.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOTypeParser.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SourceCode.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/AbstractPropertyMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/IdenticalTypeMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/IdentityMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PrimitiveListMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PrimitiveMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PropertyMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/RelationListMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/RelationMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/TypeMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/VersionMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;br&gt;&amp;lt;snip/&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: labs-unsubscribe@labs.apache.org
&lt;br&gt;For additional commands, e-mail: labs-help@labs.apache.org
&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--1-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682372p26713812.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26713724</id>
	<title>Re: svn commit: r886691 [3/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-09T09:03:06Z</published>
	<updated>2009-12-09T09:03:06Z</updated>
	<author>
		<name>Pinaki Poddar</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&amp;nbsp; This is a patch on Serp -- originally written by my erstwhile colleague Abe White. A singular change was necessary to get it working for some annotation arrays. I had written to Abe to integrate this change into Serp &amp;nbsp;-- but so far it has not happened. That is why the code appears in here -- but this is a transient.
&lt;br&gt;&lt;br&gt;PS: it is Pinaki, but I have seen lot of variations on that moniker :)
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Bernd Fondermann wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;Hi Pina,
&lt;br&gt;&lt;br&gt;please could you clarify the origins of the code below?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;ppoddar@apache.org wrote:
&lt;br&gt;&amp;gt; Added: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/main/java/serp/bytecode/Annotation.java (added)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/main/java/serp/bytecode/Annotation.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -0,0 +1,1010 @@
&lt;br&gt;&amp;gt; +package serp.bytecode;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import java.io.*;
&lt;br&gt;&amp;gt; +import java.lang.reflect.*;
&lt;br&gt;&amp;gt; +import java.util.*;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import serp.bytecode.lowlevel.*;
&lt;br&gt;&amp;gt; +import serp.bytecode.visitor.*;
&lt;br&gt;&amp;gt; +import serp.util.*;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +/**
&lt;br&gt;&amp;gt; + * A declared annotation.
&lt;br&gt;&amp;gt; + *
&lt;br&gt;&amp;gt; + * @author Abe White
&lt;br&gt;&amp;gt; + */
&lt;br&gt;&amp;gt; +public class Annotation implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_VALUEOF = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_NAME = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;static {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class c = Class.forName(&amp;quot;java.lang.Enum&amp;quot;);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_VALUEOF = c.getMethod(&amp;quot;valueOf&amp;quot;, new Class[] {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class.class, String.class });
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_NAME = c.getMethod(&amp;quot;name&amp;quot;, (Class[]) null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// pre-1.5 JDK
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private BCEntity _owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private int _typeIndex = 0;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private List _properties = null;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;Annotation(BCEntity owner) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Annotations are stored in an {@link Annotations} table or as
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * part of an {@link Annotation} property value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCEntity getOwner() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public int getTypeIndex() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _typeIndex;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setTypeIndex(int index) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = index;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The name of this annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public String getTypeName() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String desc = ((UTF8Entry) getPool().getEntry(_typeIndex)).getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm(desc, false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The {@link Class} object for this annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Class getType() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Strings.toClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The bytecode for the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCClass getTypeBC() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().loadClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(String type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type = getProject().getNameCache().getInternalForm(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(Class type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(BCClass type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * All declared properties.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property[] getProperties() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Property[0];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Property[]) _properties.toArray
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(new Property[_properties.size()]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Set the annotation properties. &amp;nbsp;This method is useful when
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * importing properties from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setProperties(Property[] props) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addProperty(props[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Return the property with the given name, or null if none.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property getProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name))
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Import a property from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return the newly added property
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(Property p) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = addProperty(p.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setValue(p.getValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a new property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = new Property(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setName(name);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Clear all annotation properties.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void clearProperties() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).invalidate();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.clear();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the given property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if an property was removed, false otherwise
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(Property prop) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop != null &amp;&amp; removeProperty(prop.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the property with the given name.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if a property was removed, false otherwise
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name == null || _properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.invalidate();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.remove(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).acceptVisit(visit);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 4;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += ((Property) _properties.get(i)).getLength();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int props = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props &amp;gt; 0) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList(props);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = new Property(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.read(in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_typeIndex); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort((_properties == null) ? 0 : _properties.size());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).write(out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * An annotation property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public static class Property implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation _owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int _nameIndex = 0;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private final Value _value = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Value[] _values = null;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property(Annotation owner) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * The owning annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotation() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getNameIndex() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _nameIndex;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setNameIndex(int index) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = index;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getName() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ((UTF8Entry) getPool().getEntry(_nameIndex)).getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setName(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the value of the property as its wrapper type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns class values as the class name.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object getValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getValue(_value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] vals = new Object[_values.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; vals.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vals[i] = getValue(_values[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return vals;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Extract the Java value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Object getValue(Value val) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index == -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return val.value;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object o = ((ConstantEntry) getPool().getEntry(val.index)).
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getConstant();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// enum value
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String e = getProject().getNameCache().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getExternalForm((String) o, false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = ((UTF8Entry) getPool().getEntry(val.index2)).
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class cls = Class.forName(e, true, getClassLoader()); &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ENUM_VALUEOF.invoke(null, new Object[] {cls, name});
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return e + &amp;quot;.&amp;quot; + name;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b': 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == boolean.class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (((Number) o).intValue() != 0) ? Boolean.TRUE
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Boolean.FALSE;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Byte(((Number) o).byteValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Character((char) ((Number) o).intValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm((String) o, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Short(((Number) o).shortValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set value of this property. The value should be an instance of any
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * primitive wrapper type, String, Class, BCClass, an enum constant,
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * an annotation, or an array of any of these types.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Object value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!value.getClass().isArray()) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[Array.getLength(value)];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_values[i], Array.get(value, i));
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, Object o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o instanceof String) 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (String) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Boolean)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Boolean) o).booleanValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Byte)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Byte) o).byteValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Character)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Character) o).charValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Double)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Double) o).doubleValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Float)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Float) o).floatValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Integer)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Integer) o).intValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Long)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Long) o).longValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Short)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Short) o).shortValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((Class) o).getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof BCClass)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((BCClass) o).getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Annotation)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (Annotation) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = getEnumName(o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String type = getProject().getNameCache().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getInternalForm(o.getClass().getName(), true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = o;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = o.getClass();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this enum value, or null if not an enum.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static String getEnumName(Object o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Class c = o.getClass(); true; c = c.getSuperclass()) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == Object.class || c == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (&amp;quot;java.lang.Enum&amp;quot;.equals(c.getName()))
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) ENUM_NAME.invoke(o, (Object[]) null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o.toString();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the string value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getStringValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the boolean value of this property, or false if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean getBooleanValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? false : ((Boolean) value).booleanValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the byte value of this property, or false if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public byte getByteValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (byte) 0 : ((Number) value).byteValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the int value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getIntValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0 : ((Number) value).intValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the long value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public long getLongValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0L : ((Number) value).longValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the float value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public float getFloatValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0F : ((Number) value).floatValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the double value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public double getDoubleValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0D : ((Number) value).doubleValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the short value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public short getShortValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (short) 0 : ((Number) value).shortValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the class value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getClassNameValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the annotation value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotationValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Annotation) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(String value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, String o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(boolean value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, boolean o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (o) ? 1 : 0);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(byte value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, byte o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(int value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, int o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findIntEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(long value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, long o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findLongEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(float value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, float o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findFloatEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(double value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, double o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findDoubleEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(short value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, short o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = short.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Class value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(BCClass value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setClassNameValue(String value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setClassNameValue(Value val, String o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;o = getProject().getNameCache().getInternalForm(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation setValue(Annotation value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation setValue(Value val, Annotation o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(o.getTypeName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setProperties(o.getProperties());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] setValue(Annotation[] value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[value.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[value.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = setValue(_values[i], value[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(Class type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(BCClass type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(String type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(type);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(Class type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(BCClass type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(String type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[length]; 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i].setType(type);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].value = ret[i];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null &amp;&amp; (_values != null || _value.index != -1
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| _value.value != null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotationProperty(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotationProperty(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 2; // name
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += 3; // arr length + tag
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_values[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the length of the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int getLength(Value val) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 5; // tag + enum type + enum name
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index != -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 3; // tag + constant or class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 1 + ((Annotation) val.value).getLength(); // tag + anno
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = in.readUnsignedShort(); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int tag = in.readByte();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tag == '[') {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[len];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; len; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_values[i], in.readByte(), in); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_value, tag, in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Read data into the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void read(Value val, int tag, DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (tag) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'B':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'C':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = char.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'D':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'F':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'I':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'J':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'S':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'Z':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'e':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case '@':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.read(in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(String.valueOf(tag));
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_nameIndex);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_value, out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('[');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_values.length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_values[i], out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Write the data for the given value to the stream.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void write(Value val, DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('e');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index2);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (val.index != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == byte.class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('B');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('Z');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('C');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('c');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('S');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(val.type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Entry entry = getPool().getEntry(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (entry instanceof DoubleEntry) 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('D');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof FloatEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('F');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof IntEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('I');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof LongEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('J');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof UTF8Entry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('s');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(entry.getClass().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('@');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Annotation) val.value).write(out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Property value struct.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */ 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static class Value {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Class type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Propchange: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -1,3 +1,8 @@
&lt;br&gt;&amp;gt; +generate-unenhanced: Generating dynamic Java class {0} using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +generate-enhanced: Enhancing dynamic Java class {0} using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +load-enhanced: Loaded dynamic, enhanced Java class {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +load-enhanced-error: Error while loading dynamic, enhanced Java class {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp;type-mapping-new: Creating new SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp;type-mapping-resolve: Resolving SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp;resolve-mapping-failed: No cached metadata found for &amp;quot;{0}&amp;quot; in &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestCRUD.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestCRUD.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -13,8 +13,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - * Test basic CRUD operation with a simpleton Type that has no relation but
&lt;br&gt;&amp;gt; - * primitive properties.
&lt;br&gt;&amp;gt; + * Test basic CRUD operation with a simpleton SDO Type that has no relation but primitive properties.
&lt;br&gt;&amp;gt; &amp;nbsp; * &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt; &amp;nbsp; *
&lt;br&gt;&amp;gt; @@ -99,9 +98,10 @@
&lt;br&gt;&amp;gt; &amp;nbsp;			dataObject.setString(&amp;quot;firstName&amp;quot;, &amp;quot;Ron&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;			em.getTransaction().begin();
&lt;br&gt;&amp;gt; &amp;nbsp;			DataObject merged = em.merge(dataObject);
&lt;br&gt;&amp;gt; -			int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt; -			assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt; +			assertNotSame(merged, dataObject);
&lt;br&gt;&amp;gt; &amp;nbsp;			em.getTransaction().commit();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertEquals(&amp;quot;Ron&amp;quot;, merged.getString(&amp;quot;firstName&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;			int after = count(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertEquals(before, after);
&lt;br&gt;&amp;gt; @@ -138,7 +138,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	// START SNIPPET:createPerson
&lt;br&gt;&amp;gt; &amp;nbsp;	DataObject createPerson(String ssn, String first, String last, int age) {
&lt;br&gt;&amp;gt; -		Type type = getType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; +		Type type = getSDOType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		DataObject data = DataFactory.INSTANCE.create(type);
&lt;br&gt;&amp;gt; &amp;nbsp;		data.set(&amp;quot;ssn&amp;quot;, ssn);
&lt;br&gt;&amp;gt; &amp;nbsp;		data.setString(&amp;quot;firstName&amp;quot;, first);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Added: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestConfiguration.java (added)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestConfiguration.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -0,0 +1,27 @@
&lt;br&gt;&amp;gt; +package example.basic;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import javax.persistence.EntityManager;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import org.apache.openjpa.persistence.test.SingleEMFTestCase;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDODynamicClassResolver;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManager;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +public class TestConfiguration extends AbstractSDOTest {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManagerFactory() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(emf);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManager() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EntityManager em = emf.createEntityManager();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(em);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(em instanceof SDOEntityManager);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testClassResolver() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf.getConfiguration().getClassResolverInstance() instanceof SDODynamicClassResolver);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Propchange: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestRelation.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestRelation.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -149,8 +149,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	DataObject createPurchaseOrder() {
&lt;br&gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; +		DataObject purchaseOrder = DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -37,20 +37,20 @@
&lt;br&gt;&amp;gt; &amp;nbsp;public class TestSDO extends AbstractSDOTest {
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testPackage() {
&lt;br&gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(addressType);
&lt;br&gt;&amp;gt; &amp;nbsp;		String pkg = ImplHelper.getPackageName(addressType);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertEquals(&amp;quot;example.domain&amp;quot;,pkg);
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testInstanceClassIsNullForUserType() {
&lt;br&gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertFalse(addressType.isDataType());
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNull(addressType.getInstanceClass());
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testIdentityType() {
&lt;br&gt;&amp;gt; -		Type poType = getType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt; +		Type poType = getSDOType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(poType);
&lt;br&gt;&amp;gt; &amp;nbsp;		Property id2 = ImplHelper.getIdentityProperty(poType);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(id2);
&lt;br&gt;&amp;gt; @@ -64,8 +64,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testCreateModel() {
&lt;br&gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; +		DataObject purchaseOrder = DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -90,20 +90,20 @@
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt; -		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt; -		try {
&lt;br&gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; -			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt; -		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt; -			//good
&lt;br&gt;&amp;gt; -		}
&lt;br&gt;&amp;gt; -	}
&lt;br&gt;&amp;gt; +//	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt; +//		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt; +//		try {
&lt;br&gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; +//			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt; +//		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt; +//			//good
&lt;br&gt;&amp;gt; +//		}
&lt;br&gt;&amp;gt; +//	}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/test/common/AbstractSDOTest.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/test/common/AbstractSDOTest.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -25,16 +25,15 @@
&lt;br&gt;&amp;gt; &amp;nbsp;import junit.framework.TestCase;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.meta.MetaDataFactory;
&lt;br&gt;&amp;gt; -import org.apache.openjpa.meta.MetaDataRepository;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.persistence.OpenJPAEntityManager;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt; -import org.apache.openjpa.sdo.SDOMappingRepository;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOMetaDataFactory;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOTypeParser;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;import commonj.sdo.Type;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - * Abstract Test case sets up JPA persitence unt and SDO metadata from XML
&lt;br&gt;&amp;gt; + * Abstract Test case sets up JPA persistence unit and SDO meta data from XML
&lt;br&gt;&amp;gt; &amp;nbsp; * schema.
&lt;br&gt;&amp;gt; &amp;nbsp; * 
&lt;br&gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt; @@ -42,7 +41,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp; */
&lt;br&gt;&amp;gt; &amp;nbsp;public abstract class AbstractSDOTest extends TestCase {
&lt;br&gt;&amp;gt; &amp;nbsp;	protected static SDOEntityManagerFactory emf;
&lt;br&gt;&amp;gt; -	protected static SDOMappingRepository repos;
&lt;br&gt;&amp;gt; +	protected static SDOMetaDataFactory repos;
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Obtain a EntityManagerFactory and initialize SDO Types.
&lt;br&gt;&amp;gt; @@ -54,26 +53,24 @@
&lt;br&gt;&amp;gt; &amp;nbsp;			assertNotNull(tmp);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertTrue(tmp instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt; &amp;nbsp;			emf = (SDOEntityManagerFactory)tmp;
&lt;br&gt;&amp;gt; +			emf.createEntityManager();
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	SDOMappingRepository getRepos() {
&lt;br&gt;&amp;gt; +	SDOMetaDataFactory getRepos() {
&lt;br&gt;&amp;gt; &amp;nbsp;		if (repos == null) {
&lt;br&gt;&amp;gt; &amp;nbsp;			MetaDataFactory mdf = emf.getConfiguration()
&lt;br&gt;&amp;gt; &amp;nbsp;			.getMetaDataRepositoryInstance().getMetaDataFactory();
&lt;br&gt;&amp;gt; &amp;nbsp;			assertTrue(mdf instanceof SDOMetaDataFactory);
&lt;br&gt;&amp;gt; -			repos = ((SDOMetaDataFactory)mdf).getSDOMappingRepository();
&lt;br&gt;&amp;gt; +			repos = (SDOMetaDataFactory)mdf;
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;		return repos;
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	/**
&lt;br&gt;&amp;gt; -	 * Gets the type of given name.
&lt;br&gt;&amp;gt; -	 */
&lt;br&gt;&amp;gt; -	protected Type getType(String name) {
&lt;br&gt;&amp;gt; -		return getRepos().getType(name);
&lt;br&gt;&amp;gt; -	}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;protected Type getSDOType(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return SDOTypeParser.findType(name);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Count number of persistent instances of the given alias.
&lt;br&gt;&amp;gt; @@ -88,6 +85,6 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Get the name of the persistence unit to be used by this receiver.
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	protected String getPersistenceUnitName() {
&lt;br&gt;&amp;gt; -		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;gt; +		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;sdo&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/resources/META-INF/persistence.xml (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/resources/META-INF/persistence.xml Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -1,19 +1,29 @@
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;persistence xmlns=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;quot; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; version=&amp;quot;1.0&amp;quot; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;test&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;sdo&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 		&amp;lt;description&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Persistence unit for testing Fluid.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; The configuration properties are essentially same as any other JPA application except
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i) openjpa.EntityManagerFactory must be set to &amp;quot;sdo&amp;quot; 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; and ii) openjpa.MetaDataFactory must be set as shown with XML schema definitions.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Also set openjpa.DynamicEnhancementAgent to &amp;quot;false&amp;quot; because Fluid generates the 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; enhanced bytecode for SDO Types dynamically.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;		&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; value=&amp;quot;sdo(Resources=META-INF/person.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value=&amp;quot;sdo(Resources=META-INF/person.xsd;META-INF/po.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.DynamicEnhancementAgent&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			
&lt;br&gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; value=&amp;quot;jdbc:mysql://localhost/SDO2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;hello&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&amp;quot;jdbc:mysql://localhost/fluid&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; &amp;nbsp; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; &amp;nbsp; value=&amp;quot;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			
&lt;br&gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;DefaultLevel=TRACE, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.BrokerImpl&amp;quot; value=&amp;quot;non-finalizing&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&amp;quot;DefaultLevel=WARN, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/persistence-unit&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;/persistence&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
&lt;br&gt;&amp;gt; For additional commands, e-mail: commits-help@labs.apache.org
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: labs-unsubscribe@labs.apache.org
&lt;br&gt;For additional commands, e-mail: labs-help@labs.apache.org
&lt;br&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--3-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682324p26713724.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26709438</id>
	<title>[jira] Created: (LABS-498) [dojo] dojo on permitTables=true fails to create more than one correct instance of the richText editor</title>
	<published>2009-12-09T04:29:18Z</published>
	<updated>2009-12-09T04:29:18Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[dojo] dojo on permitTables=true fails to create more than one correct instance of the richText editor
&lt;br&gt;------------------------------------------------------------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: LABS-498
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-498&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-498&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: Labs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Magma
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: Current
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Massimo Guidi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: Current
&lt;br&gt;&lt;br&gt;&lt;br&gt;dojo on permitTables=true fails to create more than one correct instance of the richText editor.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26709438&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26709438&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-498%29--dojo--dojo-on-permitTables%3Dtrue-fails-to-create-more-than-one-correct-instance-of-the-richText-editor-tp26709438p26709438.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26682372</id>
	<title>Re: svn commit: r886691 [1/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-07T11:06:04Z</published>
	<updated>2009-12-07T11:06:04Z</updated>
	<author>
		<name>Bernd Fondermann</name>
	</author>
	<content type="html">Hi Pina,
&lt;br&gt;&lt;br&gt;please, could elaborate about the contributor's identity?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682372&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ppoddar@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Author: ppoddar
&lt;br&gt;&amp;gt; Date: Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; New Revision: 886691
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc?rev=886691&amp;view=rev&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc?rev=886691&amp;view=rev&lt;/a&gt;&lt;br&gt;&amp;gt; Log:
&lt;br&gt;&amp;gt; Major update from Sergio's contribution. 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Added:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/example/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/example/domain/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/BiDiMapID.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDODynamicClassResolver.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEndTransactionListener.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/ContainedIdenticalTypeMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/ContainerRelationMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddableIdenticalTypeMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddedRelationListMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/EmbeddedRelationMapping.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategyInstaller.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; - copied, changed from r778535, labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategy.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/bytecode/
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/serp/bytecode/Annotation.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestConfiguration.java &amp;nbsp; (with props)
&lt;br&gt;&amp;gt; Removed:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOMappingRepository.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOTypeRepository.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/TypeNotFoundException.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/SDOMappingStrategy.java
&lt;br&gt;&amp;gt; Modified:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/BiDiMap.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/ImplHelper.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDO2POJOGenerator.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDODelegatingResultList.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEntityManager.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOEntityManagerFactory.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOInstanceMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOMetaDataFactory.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOProductDerivation.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOQuery.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SDOTypeParser.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/SourceCode.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/AbstractPropertyMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/IdenticalTypeMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/IdentityMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PrimitiveListMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PrimitiveMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/PropertyMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/RelationListMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/RelationMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/TypeMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/java/org/apache/openjpa/sdo/mapping/VersionMapping.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;/div&gt;&amp;lt;snip/&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682372&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682372&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--1-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682372p26682372.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26682324</id>
	<title>Re: svn commit: r886691 [3/3] - in /labs/fluid: example/ example/domain/ src/main/java/org/apache/openjpa/sdo/ src/main/java/org/apache/openjpa/sdo/mapping/ src/main/java/serp/ src/main/java/serp/bytecode/ src/main/resources/org/apache/openjpa/sdo/ src/tes...</title>
	<published>2009-12-07T11:02:50Z</published>
	<updated>2009-12-07T11:02:50Z</updated>
	<author>
		<name>Bernd Fondermann</name>
	</author>
	<content type="html">Hi Pina,
&lt;br&gt;&lt;br&gt;please could you clarify the origins of the code below?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682324&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ppoddar@...&lt;/a&gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Added: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/java/serp/bytecode/Annotation.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/main/java/serp/bytecode/Annotation.java (added)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/main/java/serp/bytecode/Annotation.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -0,0 +1,1010 @@
&lt;br&gt;&amp;gt; +package serp.bytecode;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import java.io.*;
&lt;br&gt;&amp;gt; +import java.lang.reflect.*;
&lt;br&gt;&amp;gt; +import java.util.*;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import serp.bytecode.lowlevel.*;
&lt;br&gt;&amp;gt; +import serp.bytecode.visitor.*;
&lt;br&gt;&amp;gt; +import serp.util.*;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +/**
&lt;br&gt;&amp;gt; + * A declared annotation.
&lt;br&gt;&amp;gt; + *
&lt;br&gt;&amp;gt; + * @author Abe White
&lt;br&gt;&amp;gt; + */
&lt;br&gt;&amp;gt; +public class Annotation implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_VALUEOF = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private static Method ENUM_NAME = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;static {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class c = Class.forName(&amp;quot;java.lang.Enum&amp;quot;);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_VALUEOF = c.getMethod(&amp;quot;valueOf&amp;quot;, new Class[] {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class.class, String.class });
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ENUM_NAME = c.getMethod(&amp;quot;name&amp;quot;, (Class[]) null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// pre-1.5 JDK
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private BCEntity _owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private int _typeIndex = 0;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;private List _properties = null;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;Annotation(BCEntity owner) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Annotations are stored in an {@link Annotations} table or as
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * part of an {@link Annotation} property value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCEntity getOwner() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public int getTypeIndex() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _typeIndex;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setTypeIndex(int index) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = index;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The name of this annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public String getTypeName() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String desc = ((UTF8Entry) getPool().getEntry(_typeIndex)).getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm(desc, false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The {@link Class} object for this annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Class getType() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return Strings.toClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * The bytecode for the type of this annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public BCClass getTypeBC() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().loadClass(getTypeName(), getClassLoader());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(String type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type = getProject().getNameCache().getInternalForm(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(Class type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * This annotation's type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setType(BCClass type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setType(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * All declared properties.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property[] getProperties() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Property[0];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Property[]) _properties.toArray
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(new Property[_properties.size()]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Set the annotation properties. &amp;nbsp;This method is useful when
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * importing properties from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void setProperties(Property[] props) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;addProperty(props[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Return the property with the given name, or null if none.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property getProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name))
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Import a property from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return the newly added property
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(Property p) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = addProperty(p.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setValue(p.getValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Add a new property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Property addProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop = new Property(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.setName(name);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Clear all annotation properties.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void clearProperties() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).invalidate();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.clear();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the given property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if an property was removed, false otherwise
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(Property prop) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return prop != null &amp;&amp; removeProperty(prop.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * Remove the property with the given name.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; *
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * @return true if a property was removed, false otherwise
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean removeProperty(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name == null || _properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = (Property) _properties.get(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (prop.getName().equals(name)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.invalidate();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.remove(i);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return true;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return false;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).acceptVisit(visit);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 4;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += ((Property) _properties.get(i)).getLength();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_typeIndex = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;clearProperties();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int props = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (props &amp;gt; 0) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties = new ArrayList(props);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property prop;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; props; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop = new Property(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;prop.read(in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_properties.add(prop); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_typeIndex); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort((_properties == null) ? 0 : _properties.size());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_properties != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _properties.size(); i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Property) _properties.get(i)).write(out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; * An annotation property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public static class Property implements BCEntity, VisitAcceptor {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation _owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int _nameIndex = 0;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private final Value _value = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Value[] _values = null;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Property(Annotation owner) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * The owning annotation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotation() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void invalidate() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_owner = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getNameIndex() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _nameIndex;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the index in the class {@link ConstantPool} of the
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * {@link UTF8Entry} holding the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setNameIndex(int index) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = index;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getName() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ((UTF8Entry) getPool().getEntry(_nameIndex)).getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the name of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setName(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the value of the property as its wrapper type.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Returns class values as the class name.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object getValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getValue(_value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object[] vals = new Object[_values.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; vals.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;vals[i] = getValue(_values[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return vals;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Extract the Java value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Object getValue(Value val) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index == -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return val.value;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object o = ((ConstantEntry) getPool().getEntry(val.index)).
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getConstant();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// enum value
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String e = getProject().getNameCache().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getExternalForm((String) o, false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = ((UTF8Entry) getPool().getEntry(val.index2)).
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Class cls = Class.forName(e, true, getClassLoader()); &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ENUM_VALUEOF.invoke(null, new Object[] {cls, name});
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return e + &amp;quot;.&amp;quot; + name;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b': 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == boolean.class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (((Number) o).intValue() != 0) ? Boolean.TRUE
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;: Boolean.FALSE;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Byte(((Number) o).byteValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Character((char) ((Number) o).intValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return getProject().getNameCache().getExternalForm((String) o, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;false);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return new Short(((Number) o).shortValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set value of this property. The value should be an instance of any
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * primitive wrapper type, String, Class, BCClass, an enum constant,
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * an annotation, or an array of any of these types.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Object value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!value.getClass().isArray()) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[Array.getLength(value)];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_values[i], Array.get(value, i));
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, Object o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (o instanceof String) 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (String) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Boolean)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Boolean) o).booleanValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Byte)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Byte) o).byteValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Character)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Character) o).charValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Double)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Double) o).doubleValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Float)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Float) o).floatValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Integer)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Integer) o).intValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Long)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Long) o).longValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Short)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, ((Short) o).shortValue());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((Class) o).getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof BCClass)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(val, ((BCClass) o).getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (o instanceof Annotation)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (Annotation) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String name = getEnumName(o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (name != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String type = getProject().getNameCache().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getInternalForm(o.getClass().getName(), true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(type, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = getPool().findUTF8Entry(name, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = o;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = o.getClass();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the name of this enum value, or null if not an enum.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static String getEnumName(Object o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (Class c = o.getClass(); true; c = c.getSuperclass()) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (c == Object.class || c == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (&amp;quot;java.lang.Enum&amp;quot;.equals(c.getName()))
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) ENUM_NAME.invoke(o, (Object[]) null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (Throwable t) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return o.toString();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the string value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getStringValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the boolean value of this property, or false if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean getBooleanValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? false : ((Boolean) value).booleanValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the byte value of this property, or false if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public byte getByteValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (byte) 0 : ((Number) value).byteValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the int value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int getIntValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0 : ((Number) value).intValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the long value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public long getLongValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0L : ((Number) value).longValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the float value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public float getFloatValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0F : ((Number) value).floatValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the double value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public double getDoubleValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? 0D : ((Number) value).doubleValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the short value of this property, or 0 if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public short getShortValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Object value = getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (value == null) ? (short) 0 : ((Number) value).shortValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the class value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public String getClassNameValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (String) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the annotation value of this property, or null if not set.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation getAnnotationValue() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return (Annotation) getValue();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(String value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the string value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, String o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(boolean value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the boolean value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, boolean o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (o) ? 1 : 0);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(byte value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the byte value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, byte o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(int value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the int value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, int o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findIntEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(long value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the long value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, long o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findLongEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(float value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the float value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, float o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findFloatEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(double value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the double value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, double o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findDoubleEntry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(short value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the short value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setValue(Value val, short o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setValue(val, (int) o);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = short.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(Class value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setValue(BCClass value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(value.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void setClassNameValue(String value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;setClassNameValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the class value of this property.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void setClassNameValue(Value val, String o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;o = getProject().getNameCache().getInternalForm(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = getPool().findUTF8Entry(o, true);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation setValue(Annotation value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return setValue(_value, value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private Annotation setValue(Value val, Annotation o) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(o.getTypeName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setProperties(o.getProperties());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set the annotation value of this property by importing the given
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * annotation from another instance.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] setValue(Annotation[] value) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[value.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[value.length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = setValue(_values[i], value[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(Class type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(BCClass type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationValue(type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation of the given type, 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * returning the annotation for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation newAnnotationValue(String type) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.setType(type);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(Class type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(BCClass type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return newAnnotationArrayValue(type.getName(), length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Set this property value to a new annotation array of the given type
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * and length, returning the annotations for manipulation.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Annotation[] newAnnotationArrayValue(String type, int length) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_value.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[length]; 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation[] ret = new Annotation[length];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; length; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i] = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret[i].setType(type);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].value = ret[i];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i].type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Project getProject() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getProject();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ConstantPool getPool() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getPool();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public ClassLoader getClassLoader() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner.getClassLoader();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public boolean isValid() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return _owner != null &amp;&amp; (_values != null || _value.index != -1
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|| _value.value != null);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public void acceptVisit(BCVisitor visit) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.enterAnnotationProperty(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;visit.exitAnnotationProperty(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int getLength() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = 2; // name
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_value);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += 3; // arr length + tag
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;len += getLength(_values[i]);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return len;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Return the length of the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private int getLength(Value val) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 5; // tag + enum type + enum name
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index != -1)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 3; // tag + constant or class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 1 + ((Annotation) val.value).getLength(); // tag + anno
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void read(DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_nameIndex = in.readUnsignedShort(); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int tag = in.readByte();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (tag == '[') {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int len = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values = new Value[len];
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; len; i++) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;_values[i] = new Value();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_values[i], in.readByte(), in); 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;read(_value, tag, in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Read data into the given value.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void read(Value val, int tag, DataInput in) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (tag) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'B':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = byte.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'C':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = char.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'D':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'F':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'I':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'J':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'S':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'Z':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = boolean.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = Class.class;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'e':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = in.readUnsignedShort();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case '@':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Annotation anno = new Annotation(this);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;anno.read(in);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.value = anno;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;val.type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(String.valueOf(tag));
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;void write(DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!isValid())
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException();
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_nameIndex);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (_values == null)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_value, out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('[');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(_values.length);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for (int i = 0; i &amp;lt; _values.length; i++)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;write(_values[i], out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Write the data for the given value to the stream.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private void write(Value val, DataOutput out) throws IOException {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.index2 != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('e');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index2);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else if (val.index != -1) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type != null) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;switch (val.type.getName().charAt(0)) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'b':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (val.type == byte.class)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('B');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('Z');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'c':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('C');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 'j': // java.lang.Class
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('c');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;case 's':
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('S');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;break;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;default:
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(val.type.getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Entry entry = getPool().getEntry(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (entry instanceof DoubleEntry) 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('D');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof FloatEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('F');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof IntEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('I');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof LongEntry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('J');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if (entry instanceof UTF8Entry)
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('s');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throw new IllegalStateException(entry.getClass().
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;getName());
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeShort(val.index);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;out.writeByte('@');
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;((Annotation) val.value).write(out);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * Property value struct.
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; */ 
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private static class Value {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public int index2 = -1;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Class type = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public Object value = null;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Propchange: labs/fluid/src/main/java/serp/bytecode/Annotation.java
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/main/resources/org/apache/openjpa/sdo/localizer.properties Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -1,3 +1,8 @@
&lt;br&gt;&amp;gt; +generate-unenhanced: Generating dynamic Java class {0} using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +generate-enhanced: Enhancing dynamic Java class {0} using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +load-enhanced: Loaded dynamic, enhanced Java class {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +load-enhanced-error: Error while loading dynamic, enhanced Java class {0} into JVM using classloader {1} child of {2}.
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; &amp;nbsp;type-mapping-new: Creating new SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp;type-mapping-resolve: Resolving SDO Type Mapping for &amp;quot;{0}&amp;quot; mapped to &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; &amp;nbsp;resolve-mapping-failed: No cached metadata found for &amp;quot;{0}&amp;quot; in &amp;quot;{1}&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestCRUD.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestCRUD.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestCRUD.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestCRUD.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -13,8 +13,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - * Test basic CRUD operation with a simpleton Type that has no relation but
&lt;br&gt;&amp;gt; - * primitive properties.
&lt;br&gt;&amp;gt; + * Test basic CRUD operation with a simpleton SDO Type that has no relation but primitive properties.
&lt;br&gt;&amp;gt; &amp;nbsp; * &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt; &amp;nbsp; *
&lt;br&gt;&amp;gt; @@ -99,9 +98,10 @@
&lt;br&gt;&amp;gt; &amp;nbsp;			dataObject.setString(&amp;quot;firstName&amp;quot;, &amp;quot;Ron&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;			em.getTransaction().begin();
&lt;br&gt;&amp;gt; &amp;nbsp;			DataObject merged = em.merge(dataObject);
&lt;br&gt;&amp;gt; -			int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt; -			assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt; +			assertNotSame(merged, dataObject);
&lt;br&gt;&amp;gt; &amp;nbsp;			em.getTransaction().commit();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;int v1 = ImplHelper.getVersion(merged);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(v1&amp;gt;v0);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertEquals(&amp;quot;Ron&amp;quot;, merged.getString(&amp;quot;firstName&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;			int after = count(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertEquals(before, after);
&lt;br&gt;&amp;gt; @@ -138,7 +138,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	// START SNIPPET:createPerson
&lt;br&gt;&amp;gt; &amp;nbsp;	DataObject createPerson(String ssn, String first, String last, int age) {
&lt;br&gt;&amp;gt; -		Type type = getType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; +		Type type = getSDOType(&amp;quot;Person&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		DataObject data = DataFactory.INSTANCE.create(type);
&lt;br&gt;&amp;gt; &amp;nbsp;		data.set(&amp;quot;ssn&amp;quot;, ssn);
&lt;br&gt;&amp;gt; &amp;nbsp;		data.setString(&amp;quot;firstName&amp;quot;, first);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Added: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestConfiguration.java?rev=886691&amp;view=auto&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestConfiguration.java (added)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestConfiguration.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -0,0 +1,27 @@
&lt;br&gt;&amp;gt; +package example.basic;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import javax.persistence.EntityManager;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import org.apache.openjpa.persistence.test.SingleEMFTestCase;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDODynamicClassResolver;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManager;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +import test.common.AbstractSDOTest;
&lt;br&gt;&amp;gt; +
&lt;br&gt;&amp;gt; +public class TestConfiguration extends AbstractSDOTest {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManagerFactory() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(emf);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testEntityManager() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;EntityManager em = emf.createEntityManager();
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertNotNull(em);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(em instanceof SDOEntityManager);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;public void testClassResolver() {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp;assertTrue(emf.getConfiguration().getClassResolverInstance() instanceof SDODynamicClassResolver);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; +}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Propchange: labs/fluid/src/test/java/example/basic/TestConfiguration.java
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; svn:eol-style = native
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/example/basic/TestRelation.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/example/basic/TestRelation.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/example/basic/TestRelation.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/example/basic/TestRelation.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -149,8 +149,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	DataObject createPurchaseOrder() {
&lt;br&gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; +		DataObject purchaseOrder = DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSDO.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -37,20 +37,20 @@
&lt;br&gt;&amp;gt; &amp;nbsp;public class TestSDO extends AbstractSDOTest {
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testPackage() {
&lt;br&gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(addressType);
&lt;br&gt;&amp;gt; &amp;nbsp;		String pkg = ImplHelper.getPackageName(addressType);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertEquals(&amp;quot;example.domain&amp;quot;,pkg);
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testInstanceClassIsNullForUserType() {
&lt;br&gt;&amp;gt; -		Type addressType = getType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; +		Type addressType = getSDOType(&amp;quot;USAddress&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertFalse(addressType.isDataType());
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNull(addressType.getInstanceClass());
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testIdentityType() {
&lt;br&gt;&amp;gt; -		Type poType = getType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt; +		Type poType = getSDOType(&amp;quot;PurchaseOrderType&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(poType);
&lt;br&gt;&amp;gt; &amp;nbsp;		Property id2 = ImplHelper.getIdentityProperty(poType);
&lt;br&gt;&amp;gt; &amp;nbsp;		assertNotNull(id2);
&lt;br&gt;&amp;gt; @@ -64,8 +64,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * 
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	public void testCreateModel() {
&lt;br&gt;&amp;gt; -		DataObject purchaseOrder = DataFactory.INSTANCE.create(
&lt;br&gt;&amp;gt; -				getType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; +		DataObject purchaseOrder = DataFactory.INSTANCE.create(getSDOType(&amp;quot;PurchaseOrderType&amp;quot;));
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;		purchaseOrder.setString(&amp;quot;orderDate&amp;quot;, &amp;quot;1999-10-20&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/org/apache/openjpa/sdo/TestSourceCode.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -90,20 +90,20 @@
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt; -		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt; -		try {
&lt;br&gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; -			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; -			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; -			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt; -		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt; -			//good
&lt;br&gt;&amp;gt; -		}
&lt;br&gt;&amp;gt; -	}
&lt;br&gt;&amp;gt; +//	public void testDuplicateMethod() {
&lt;br&gt;&amp;gt; +//		SourceCode code = new SourceCode(&amp;quot;some.pkg&amp;quot;, &amp;quot;SomeClass&amp;quot;);
&lt;br&gt;&amp;gt; +//		try {
&lt;br&gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;int&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makePublic()
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.makeStatic()
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; +//			code.addMethod(&amp;quot;add&amp;quot;, &amp;quot;float&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;a&amp;quot;)
&lt;br&gt;&amp;gt; +//			 &amp;nbsp; &amp;nbsp;.addArgument(&amp;quot;int&amp;quot;, &amp;quot;b&amp;quot;);
&lt;br&gt;&amp;gt; +//			fail(&amp;quot;Expected DuplicateField exception&amp;quot;);
&lt;br&gt;&amp;gt; +//		} catch (IllegalArgumentException e) {
&lt;br&gt;&amp;gt; +//			//good
&lt;br&gt;&amp;gt; +//		}
&lt;br&gt;&amp;gt; +//	}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/java/test/common/AbstractSDOTest.java
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/java/test/common/AbstractSDOTest.java?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/java/test/common/AbstractSDOTest.java (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/java/test/common/AbstractSDOTest.java Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -25,16 +25,15 @@
&lt;br&gt;&amp;gt; &amp;nbsp;import junit.framework.TestCase;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.meta.MetaDataFactory;
&lt;br&gt;&amp;gt; -import org.apache.openjpa.meta.MetaDataRepository;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.persistence.OpenJPAEntityManager;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOEntityManagerFactory;
&lt;br&gt;&amp;gt; -import org.apache.openjpa.sdo.SDOMappingRepository;
&lt;br&gt;&amp;gt; &amp;nbsp;import org.apache.openjpa.sdo.SDOMetaDataFactory;
&lt;br&gt;&amp;gt; +import org.apache.openjpa.sdo.SDOTypeParser;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;import commonj.sdo.Type;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;/**
&lt;br&gt;&amp;gt; - * Abstract Test case sets up JPA persitence unt and SDO metadata from XML
&lt;br&gt;&amp;gt; + * Abstract Test case sets up JPA persistence unit and SDO meta data from XML
&lt;br&gt;&amp;gt; &amp;nbsp; * schema.
&lt;br&gt;&amp;gt; &amp;nbsp; * 
&lt;br&gt;&amp;gt; &amp;nbsp; * @author Pinaki Poddar
&lt;br&gt;&amp;gt; @@ -42,7 +41,7 @@
&lt;br&gt;&amp;gt; &amp;nbsp; */
&lt;br&gt;&amp;gt; &amp;nbsp;public abstract class AbstractSDOTest extends TestCase {
&lt;br&gt;&amp;gt; &amp;nbsp;	protected static SDOEntityManagerFactory emf;
&lt;br&gt;&amp;gt; -	protected static SDOMappingRepository repos;
&lt;br&gt;&amp;gt; +	protected static SDOMetaDataFactory repos;
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Obtain a EntityManagerFactory and initialize SDO Types.
&lt;br&gt;&amp;gt; @@ -54,26 +53,24 @@
&lt;br&gt;&amp;gt; &amp;nbsp;			assertNotNull(tmp);
&lt;br&gt;&amp;gt; &amp;nbsp;			assertTrue(tmp instanceof SDOEntityManagerFactory);
&lt;br&gt;&amp;gt; &amp;nbsp;			emf = (SDOEntityManagerFactory)tmp;
&lt;br&gt;&amp;gt; +			emf.createEntityManager();
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	SDOMappingRepository getRepos() {
&lt;br&gt;&amp;gt; +	SDOMetaDataFactory getRepos() {
&lt;br&gt;&amp;gt; &amp;nbsp;		if (repos == null) {
&lt;br&gt;&amp;gt; &amp;nbsp;			MetaDataFactory mdf = emf.getConfiguration()
&lt;br&gt;&amp;gt; &amp;nbsp;			.getMetaDataRepositoryInstance().getMetaDataFactory();
&lt;br&gt;&amp;gt; &amp;nbsp;			assertTrue(mdf instanceof SDOMetaDataFactory);
&lt;br&gt;&amp;gt; -			repos = ((SDOMetaDataFactory)mdf).getSDOMappingRepository();
&lt;br&gt;&amp;gt; +			repos = (SDOMetaDataFactory)mdf;
&lt;br&gt;&amp;gt; &amp;nbsp;		}
&lt;br&gt;&amp;gt; &amp;nbsp;		return repos;
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; -	/**
&lt;br&gt;&amp;gt; -	 * Gets the type of given name.
&lt;br&gt;&amp;gt; -	 */
&lt;br&gt;&amp;gt; -	protected Type getType(String name) {
&lt;br&gt;&amp;gt; -		return getRepos().getType(name);
&lt;br&gt;&amp;gt; -	}
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;protected Type getSDOType(String name) {
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return SDOTypeParser.findType(name);
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp;	
&lt;br&gt;&amp;gt; &amp;nbsp;	/**
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Count number of persistent instances of the given alias.
&lt;br&gt;&amp;gt; @@ -88,6 +85,6 @@
&lt;br&gt;&amp;gt; &amp;nbsp;	 * Get the name of the persistence unit to be used by this receiver.
&lt;br&gt;&amp;gt; &amp;nbsp;	 */
&lt;br&gt;&amp;gt; &amp;nbsp;	protected String getPersistenceUnitName() {
&lt;br&gt;&amp;gt; -		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;test&amp;quot;);
&lt;br&gt;&amp;gt; +		return System.getProperty(&amp;quot;persistence.unit&amp;quot;, &amp;quot;sdo&amp;quot;);
&lt;br&gt;&amp;gt; &amp;nbsp;	}
&lt;br&gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Modified: labs/fluid/src/test/resources/META-INF/persistence.xml
&lt;br&gt;&amp;gt; URL: &lt;a href=&quot;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/fluid/src/test/resources/META-INF/persistence.xml?rev=886691&amp;r1=886690&amp;r2=886691&amp;view=diff&lt;/a&gt;&lt;br&gt;&amp;gt; ==============================================================================
&lt;br&gt;&amp;gt; --- labs/fluid/src/test/resources/META-INF/persistence.xml (original)
&lt;br&gt;&amp;gt; +++ labs/fluid/src/test/resources/META-INF/persistence.xml Thu Dec &amp;nbsp;3 07:41:56 2009
&lt;br&gt;&amp;gt; @@ -1,19 +1,29 @@
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;persistence xmlns=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;quot; xmlns:xsi=&amp;quot;&lt;a href=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; version=&amp;quot;1.0&amp;quot; xsi:schemaLocation=&amp;quot;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;test&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;lt;persistence-unit name=&amp;quot;sdo&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 		&amp;lt;description&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Persistence unit for testing Fluid.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; The configuration properties are essentially same as any other JPA application except
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;i) openjpa.EntityManagerFactory must be set to &amp;quot;sdo&amp;quot; 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; and ii) openjpa.MetaDataFactory must be set as shown with XML schema definitions.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; Also set openjpa.DynamicEnhancementAgent to &amp;quot;false&amp;quot; because Fluid generates the 
&lt;br&gt;&amp;gt; + &amp;nbsp; 		 &amp;nbsp; enhanced bytecode for SDO Types dynamically.
&lt;br&gt;&amp;gt; + &amp;nbsp; 		&amp;lt;/description&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;		&amp;lt;properties&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; value=&amp;quot;sdo(Resources=META-INF/person.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.EntityManagerFactory&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;sdo&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.MetaDataFactory&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; value=&amp;quot;sdo(Resources=META-INF/person.xsd;META-INF/po.xsd)&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.DynamicEnhancementAgent&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			
&lt;br&gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.ConnectionDriverName&amp;quot; value=&amp;quot;com.mysql.jdbc.Driver&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; value=&amp;quot;jdbc:mysql://localhost/SDO2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; -			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; value=&amp;quot;hello&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionURL&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&amp;quot;jdbc:mysql://localhost/fluid&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionUserName&amp;quot; &amp;nbsp; value=&amp;quot;root&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			&amp;lt;property name=&amp;quot;openjpa.ConnectionPassword&amp;quot; &amp;nbsp; value=&amp;quot;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; +			
&lt;br&gt;&amp;gt; &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.jdbc.SynchronizeMappings&amp;quot; value=&amp;quot;buildSchema&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; value=&amp;quot;DefaultLevel=TRACE, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp;			&amp;lt;property name=&amp;quot;openjpa.BrokerImpl&amp;quot; value=&amp;quot;non-finalizing&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; - &amp;nbsp; 			
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.QueryCompilationCache&amp;quot; &amp;nbsp; &amp;nbsp;value=&amp;quot;false&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; 			&amp;lt;property name=&amp;quot;openjpa.Log&amp;quot; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;value=&amp;quot;DefaultLevel=WARN, SQL=TRACE, Query=TRACE&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	&amp;lt;/properties&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/persistence-unit&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;lt;/persistence&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682324&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682324&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;commits-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682324&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26682324&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-svn-commit%3A-r886691--3-3----in--labs-fluid%3A-example--example-domain--src-main-java-org-apache-openjpa-sdo--src-main-java-org-apache-openjpa-sdo-mapping--src-main-java-serp--src-main-java-serp-bytecode--src-main-resources-org-apache-openjpa-sdo--src-tes...-tp26682324p26682324.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26612295</id>
	<title>[jira] Updated: (LABS-352) [refactoring][beanview] Carve single mode creation pieces out of producers</title>
	<published>2009-12-02T08:54:20Z</published>
	<updated>2009-12-02T08:54:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Simone Gianni updated LABS-352:
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Fix Version/s: &amp;nbsp; &amp;nbsp; (was: Future)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Current
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [refactoring][beanview] Carve single mode creation pieces out of producers
&lt;br&gt;&amp;gt; --------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-352
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-352&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-352&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With LABS-351 we have intermediate types that can be inferred instead of more generic types like String, byte[] or streams.
&lt;br&gt;&amp;gt; Now we need to implement a way to have beansview pieces to cope with them.
&lt;br&gt;&amp;gt; This should be done in a pluggable way. Most importantly, pluggability is needed to extend both ShowBean and ShowList (and conseguently form and paginated list) customization.
&lt;br&gt;&amp;gt; Right now, ShowBean delegates to a createMain method the creation of the inner content of a leaf in the ViewTree, the form producer then further delegates to specific methods to create drodowns, textareas etc..
&lt;br&gt;&amp;gt; Similarly, ShowList delegates to createFieldNodeCell method, which is a bit less clean than createMain.
&lt;br&gt;&amp;gt; Probably, we could refactor these methods a bit to give a clear path for extension using AspectJ around advices. For example, to handle file uploads, an around advice on createMain could intercept when the node contains a File intermediate type and output an upload field in the form or a link for downloading the file in a showbean.
&lt;br&gt;&amp;gt; A similar approach should be taken for form binding, cause the two will most probably go in pairs.
&lt;br&gt;&amp;gt; The final objective could be to declare an abstract aspect to customize appearance of certain intermediate types in lists, showbeans and forms, and parsing of incoming parameters for forms binding.
&lt;br&gt;&amp;gt; Such aspects could then be implemented to support different form/display technologies, like JSF.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26612295&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26612295&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-352%29--refactoring--beanview--Carve-single-mode-creation-pieces-out-of-producers-tp23189158p26612295.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26596252</id>
	<title>[jira] Commented: (LABS-352) [refactoring][beanview] Carve single mode creation pieces out of producers</title>
	<published>2009-12-01T09:58:20Z</published>
	<updated>2009-12-01T09:58:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12784307#action_12784307&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-352?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12784307#action_12784307&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Simone Gianni commented on LABS-352:
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;A lot of stuff has evolved in the mean time.
&lt;br&gt;&lt;br&gt;Let's redefine the scope of this issue better.
&lt;br&gt;&lt;br&gt;LABS-494 is evolving to use the dynamic configuration system ( LABS-365 ) to provide a simple way for the user to customize rendering. While this could eventually also provide a way to generate custom form fields or alter the default way a field is displayed (complete access to the bean and property value could be permitted), it is intended primarily for customizing the &amp;quot;external&amp;quot; part of the layout, like for example wrapping in an additional div, or similar stuff.
&lt;br&gt;&lt;br&gt;This bug is related to &amp;quot;meta types&amp;quot;, like a rich text or an uploaded file etc.. which need to be rendered with a custom HTML.
&lt;br&gt;&lt;br&gt;There are already two layers regarding &amp;quot;rendering&amp;quot; the value of a field : converters for bidirectional machine read-write, formatters for bidirectional and localized human read-write. These layers both work on plain strings.
&lt;br&gt;&lt;br&gt;When these &amp;quot;meta types&amp;quot; comes into play, however, a string is not sufficient, cause we need to create custom HTML for display in show bean and lists, custom HTML for editing in forms, and a custom binding for forms that goes in pair with the custom HTML.
&lt;br&gt;&lt;br&gt;We don't expect users to customize these &amp;quot;internals&amp;quot;. If they really need to, they can use the system that is evolving in LABS-494, or write a custom aspect.
&lt;br&gt;&lt;br&gt;So, using service discovery, will make the whole system slower giving no real feature.
&lt;br&gt;&lt;br&gt;Going back to aspects, problems outlined in the previous comments still exist, but there could be a way out.
&lt;br&gt;&lt;br&gt;Currently each BeanData contains a number of PropertyInfo objects. These have toString that is used by converters, and toUser that is used by formatters. PropertyInfo objects are created once and then cached (except in the future when LABS-232 will be implemented), so they should be fast.
&lt;br&gt;&lt;br&gt;We could add methods to PropertyInfo to return propert HTML (or an instance that produces proper HTML), ans use it for this new layer, as much as it is already done with toString and toUser.
&lt;br&gt;&lt;br&gt;To have a simpler way to hook aspects on these PropertyInfo, we could subclass them, and have one for each type we need to support. This could also remove the need for service discovery for formatters and converters, replacing them with an aspect returning the correct subclass of PropertyInfo.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [refactoring][beanview] Carve single mode creation pieces out of producers
&lt;br&gt;&amp;gt; --------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-352
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-352&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-352&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Future
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; With LABS-351 we have intermediate types that can be inferred instead of more generic types like String, byte[] or streams.
&lt;br&gt;&amp;gt; Now we need to implement a way to have beansview pieces to cope with them.
&lt;br&gt;&amp;gt; This should be done in a pluggable way. Most importantly, pluggability is needed to extend both ShowBean and ShowList (and conseguently form and paginated list) customization.
&lt;br&gt;&amp;gt; Right now, ShowBean delegates to a createMain method the creation of the inner content of a leaf in the ViewTree, the form producer then further delegates to specific methods to create drodowns, textareas etc..
&lt;br&gt;&amp;gt; Similarly, ShowList delegates to createFieldNodeCell method, which is a bit less clean than createMain.
&lt;br&gt;&amp;gt; Probably, we could refactor these methods a bit to give a clear path for extension using AspectJ around advices. For example, to handle file uploads, an around advice on createMain could intercept when the node contains a File intermediate type and output an upload field in the form or a link for downloading the file in a showbean.
&lt;br&gt;&amp;gt; A similar approach should be taken for form binding, cause the two will most probably go in pairs.
&lt;br&gt;&amp;gt; The final objective could be to declare an abstract aspect to customize appearance of certain intermediate types in lists, showbeans and forms, and parsing of incoming parameters for forms binding.
&lt;br&gt;&amp;gt; Such aspects could then be implemented to support different form/display technologies, like JSF.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26596252&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26596252&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-352%29--refactoring--beanview--Carve-single-mode-creation-pieces-out-of-producers-tp23189158p26596252.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26594892</id>
	<title>[jira] Commented: (LABS-494) [web] More support for CSS styling</title>
	<published>2009-12-01T09:02:20Z</published>
	<updated>2009-12-01T09:02:20Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12784290#action_12784290&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12784290#action_12784290&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Simone Gianni commented on LABS-494:
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;There is another approach we are experimenting, forced by the pressing demand of visual programmers wanting to customize heavily.
&lt;br&gt;&lt;br&gt;Since now the lists and bean output and forms are generated from a velocity file, which is cached for better performances, nothing is preventing from :
&lt;br&gt;- Writing your own velocity file
&lt;br&gt;- Writing your own velocity snippet for a single field
&lt;br&gt;&lt;br&gt;This has been done using custom aspects on a project we are working on, but could be incorporated in Magma provided we find a good way for standardizing it. The target is having visual programmer customize stuff without requiring modification on the java side, so a convention over configuration (a certain file in a certain path) OR the dynamic configuration implemented for LABS-365.
&lt;br&gt;&lt;br&gt;The advantage of using dynamic configuration are :
&lt;br&gt;- configuring a specific situation or a generic one (like that field in that situation, that field always, etc..)
&lt;br&gt;- overriding pre-existing configurations
&lt;br&gt;- unification
&lt;br&gt;The disadvantages are :
&lt;br&gt;- need to specify a file, so a complete path? 
&lt;br&gt;... a complete path, or using some placeholders, like {beanclass} or similar
&lt;br&gt;- need to learn the syntax of the configuration
&lt;br&gt;- would be an extension of the current late configuration system, cause it by default calls setters
&lt;br&gt;... or they could be setters on the style, but the syntax would be cumbersome, like &amp;quot;User.customDisplay=name,/path/to/my/name.vm&amp;quot; to call BeanStyle.customDisplay(String field, String path). 
&lt;br&gt;- how to cache it?
&lt;br&gt;... if they are setters, we can cache it based on what setters are called
&lt;br&gt;... moreover, if they are setters, they could be converted to aspects later
&lt;br&gt;&lt;br&gt;The advantage of using convention over configuration are :
&lt;br&gt;- create the file, and that's it
&lt;br&gt;The disadvantages are :
&lt;br&gt;- need to rethink current conventions
&lt;br&gt;... for example, each handler should have a folder to contain specifically named files
&lt;br&gt;... must provide a convention for the two biggest cases (that field in that situation, that field always)
&lt;br&gt;- cannot specify the context in the same flexible way
&lt;br&gt;... How to specify that I want that format only on that list, and that other in that show bean, given they are both returned by the same handler?
&lt;br&gt;- how to cache it?
&lt;br&gt;... since the cache id must be calculated before actual execution, we'll end polling for the presence of the file all the time
&lt;br&gt;- need to learn a naming convention
&lt;br&gt;... which will not be reused, as opposed to learning the configuration system which is used in many more situations
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [web] More support for CSS styling
&lt;br&gt;&amp;gt; ----------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-494
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Currently Magma offers a flexible way to aggregate output from different methods in the page. Howeverm, since the HTML is often generated by Magma components, great care is needed in offering enough HTML elements and CSS classes to permit a complete CSS customization.
&lt;br&gt;&amp;gt; Currently, most components (like lists and forms) do provide extensive CSS classes. The template and compunding system however don't.
&lt;br&gt;&amp;gt; When a template is outputting different parts in a zone (like for example boxes) it wraps those pieces in divs, but which CSS classes are applied to that div is not clear.
&lt;br&gt;&amp;gt; At the same time, for I18N and other systems, Magma keeps a kind of &amp;quot;stack&amp;quot; of the context in which it is evaluating current HTML, making this information available on the page CSS seems to be a simple and complete way of &amp;nbsp;having all the informations.
&lt;br&gt;&amp;gt; So, each time the template is producing an HTML div around an HTML piece, it should include all the non-already-outputted context as CSS classes, plus a &amp;quot;relation class&amp;quot;, which will always be the same.
&lt;br&gt;&amp;gt; Moreover, whenever the compunding system outputs a compunded piece of HTML, it should wrap it in a div, placing again the context as CSS classes, plus a relation class that indicates the kind of compound.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26594892&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26594892&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-494%29--web--More-support-for-CSS-styling-tp26132294p26594892.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26591553</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-12-01T05:15:41Z</published>
	<updated>2009-12-01T05:15:41Z</updated>
	<author>
		<name>Bertrand Delacretaz</name>
	</author>
	<content type="html">On Tue, Dec 1, 2009 at 1:58 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591553&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; The policy implication is unclear to me. maybe since I'm a committer
&lt;br&gt;&amp;gt; at all, they can give me access to their sandbox without giving me
&lt;br&gt;&amp;gt; full commit, and maybe not....
&lt;br&gt;&lt;br&gt;I *think* it's much easier to get commit access on commons than on
&lt;br&gt;other projects if you're already an Apache committer, but I'm not sure
&lt;br&gt;of the current status - best is to ask there.
&lt;br&gt;&lt;br&gt;-Bertrand
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591553&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591553&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26591553.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26591357</id>
	<title>Re: primitives</title>
	<published>2009-12-01T05:01:47Z</published>
	<updated>2009-12-01T05:01:47Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">I'm game. Commons, please be so kind as to give me a pail and shovel
&lt;br&gt;in your sandbox, and I'll set to work.
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 11:29 PM, James Carman
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;james@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Good idea, Henri.  I'm +1 to that.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Nov 30, 2009 at 11:24 PM, Henri Yandell &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;flamefew@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Or you could start up a sandbox project. We've had good success with
&lt;br&gt;&amp;gt;&amp;gt; ASF committers creating a sandbox branch of a released component, and
&lt;br&gt;&amp;gt;&amp;gt; after diving in for a while it's then merged in to trunk where they
&lt;br&gt;&amp;gt;&amp;gt; then become one of the most active coders of that component.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So +1 to a sandbox branch to primitives if you have ideas you'd like
&lt;br&gt;&amp;gt;&amp;gt; to play with. ASF committers get karma to the sandbox on request, so
&lt;br&gt;&amp;gt;&amp;gt; just need you to want to do that and we can add karma.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Hen
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Mon, Nov 30, 2009 at 5:01 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Stephen,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It's interesting to me that the world in general knows about Trove,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; but not so much this.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; The fact that the front page is labelled with a snapshot version might
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; have something to do with it, but I am kind of mystified. One thing
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that I'd like to add that Trove has is a full generic object hash map
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; that is an open hash to avoid the space bloat of the stock Java
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; HashMap.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I am willing to make time to work on this. Since I'm not a committer
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; at commons, I'm thinking that my proposed lab is a reasonable place to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; put in some effort and then bring it back into commons. Or maybe I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; should just start teeing up patches at commons? I find that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; reorganizing changes that might be called for to do generics and such
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; are really clumsy  in patches, so svn cp-ing to a lab might still make
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; sense.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I'm copy the labs list to test if I'm making a particle of sense.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --benson
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Mon, Nov 30, 2009 at 5:34 PM, Stephen Colebourne
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scolebourne@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Benson Margulies wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I proposed a lab over at labs in which to start construction of
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; something much like what commons-primitives describes itself as
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; setting out to do. The web page for primitives suggests a rather
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; dormant state. Is there anybody in there actively working on
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; primitives?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I think [primitives] is stable and complete, thus appears rather quiet.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'd also point out Joda-Primitives - &lt;a href=&quot;http://joda-primitives.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://joda-primitives.sourceforge.net/&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Its a fork of the concept of [primitives] but with an API design I felt more
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; comfortable with. However, I don't have time to work on it (generify,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; release). I'll grant access to anyone that wants to help on it.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Stephen
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=10&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=11&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=12&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591357&amp;i=13&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-primitives-tp26584933p26591357.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26591313</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-12-01T04:58:48Z</published>
	<updated>2009-12-01T04:58:48Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">The policy implication is unclear to me. maybe since I'm a committer
&lt;br&gt;at all, they can give me access to their sandbox without giving me
&lt;br&gt;full commit, and maybe not.
&lt;br&gt;&lt;br&gt;On Tue, Dec 1, 2009 at 5:58 AM, Bertrand Delacretaz
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bdelacretaz@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Mon, Nov 30, 2009 at 7:43 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; ...Does it make sense for me to play with breathing life into this idea in a lab?...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; You might also suggest creating an experimental branch in commons for
&lt;br&gt;&amp;gt; this &lt;a href=&quot;http://commons.apache.org/primitives/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://commons.apache.org/primitives/&lt;/a&gt;&amp;nbsp;thing. I don't know what's
&lt;br&gt;&amp;gt; the current policy in commons for this, but if I were them I would
&lt;br&gt;&amp;gt; welcome such initiatives ;-)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -Bertrand (would be +1 for your lab by the way, if that doesn't work in commons)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26591313&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26591313.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26590007</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-12-01T02:58:45Z</published>
	<updated>2009-12-01T02:58:45Z</updated>
	<author>
		<name>Bertrand Delacretaz</name>
	</author>
	<content type="html">On Mon, Nov 30, 2009 at 7:43 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26590007&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; ...Does it make sense for me to play with breathing life into this idea in a lab?...
&lt;br&gt;&lt;br&gt;You might also suggest creating an experimental branch in commons for
&lt;br&gt;this &lt;a href=&quot;http://commons.apache.org/primitives/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://commons.apache.org/primitives/&lt;/a&gt;&amp;nbsp;thing. I don't know what's
&lt;br&gt;the current policy in commons for this, but if I were them I would
&lt;br&gt;welcome such initiatives ;-)
&lt;br&gt;&lt;br&gt;-Bertrand (would be +1 for your lab by the way, if that doesn't work in commons)
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26590007&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26590007&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26590007.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26584933</id>
	<title>Re: primitives</title>
	<published>2009-11-30T17:01:50Z</published>
	<updated>2009-11-30T17:01:50Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Stephen,
&lt;br&gt;&lt;br&gt;It's interesting to me that the world in general knows about Trove,
&lt;br&gt;but not so much this.
&lt;br&gt;&lt;br&gt;The fact that the front page is labelled with a snapshot version might
&lt;br&gt;have something to do with it, but I am kind of mystified. One thing
&lt;br&gt;that I'd like to add that Trove has is a full generic object hash map
&lt;br&gt;that is an open hash to avoid the space bloat of the stock Java
&lt;br&gt;HashMap.
&lt;br&gt;&lt;br&gt;I am willing to make time to work on this. Since I'm not a committer
&lt;br&gt;at commons, I'm thinking that my proposed lab is a reasonable place to
&lt;br&gt;put in some effort and then bring it back into commons. Or maybe I
&lt;br&gt;should just start teeing up patches at commons? I find that
&lt;br&gt;reorganizing changes that might be called for to do generics and such
&lt;br&gt;are really clumsy &amp;nbsp;in patches, so svn cp-ing to a lab might still make
&lt;br&gt;sense.
&lt;br&gt;&lt;br&gt;I'm copy the labs list to test if I'm making a particle of sense.
&lt;br&gt;&lt;br&gt;--benson
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 5:34 PM, Stephen Colebourne
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26584933&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;scolebourne@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Benson Margulies wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I proposed a lab over at labs in which to start construction of
&lt;br&gt;&amp;gt;&amp;gt; something much like what commons-primitives describes itself as
&lt;br&gt;&amp;gt;&amp;gt; setting out to do. The web page for primitives suggests a rather
&lt;br&gt;&amp;gt;&amp;gt; dormant state. Is there anybody in there actively working on
&lt;br&gt;&amp;gt;&amp;gt; primitives?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think [primitives] is stable and complete, thus appears rather quiet.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'd also point out Joda-Primitives - &lt;a href=&quot;http://joda-primitives.sourceforge.net/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://joda-primitives.sourceforge.net/&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Its a fork of the concept of [primitives] but with an API design I felt more
&lt;br&gt;&amp;gt; comfortable with. However, I don't have time to work on it (generify,
&lt;br&gt;&amp;gt; release). I'll grant access to anyone that wants to help on it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Stephen
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26584933&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26584933&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dev-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26584933&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26584933&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-primitives-tp26584933p26584933.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26579788</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-11-30T10:43:36Z</published>
	<updated>2009-11-30T10:43:36Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Jukka,
&lt;br&gt;&lt;br&gt;This is news to me. Am I reading it right that it's pretty dormant?
&lt;br&gt;&lt;br&gt;It's goals are a bit smaller than mine, but it certainly seemed to
&lt;br&gt;have set out in the same direction.
&lt;br&gt;&lt;br&gt;Does it make sense for me to play with breathing life into this idea in a lab?
&lt;br&gt;&lt;br&gt;I can certainly ask if anyone is in fact working on it.
&lt;br&gt;&lt;br&gt;--benson
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 12:01 PM, Jukka Zitting &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jukka.zitting@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Mon, Nov 30, 2009 at 5:56 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; I propose to use labs to try out the initial implementation of a
&lt;br&gt;&amp;gt;&amp;gt; storage-efficient set of associative data structures for Java.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; How does this compare to &lt;a href=&quot;http://commons.apache.org/primitives/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://commons.apache.org/primitives/&lt;/a&gt;?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; BR,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jukka Zitting
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26579788&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26579788.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26578122</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java collections [replaces silly subject]</title>
	<published>2009-11-30T09:02:04Z</published>
	<updated>2009-11-30T09:02:04Z</updated>
	<author>
		<name>Bernd Fondermann</name>
	</author>
	<content type="html">Benson Margulies wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Dear labs,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I propose to use labs to try out the initial implementation of a
&lt;br&gt;&amp;gt; storage-efficient set of associative data structures for Java. My
&lt;br&gt;&amp;gt; frank goal is to deliver the capability of GNU Trove under the ASL,
&lt;br&gt;&amp;gt; and perhaps then some. I'd like to use the labs to rough out with
&lt;br&gt;&amp;gt; unambiguous ASF ownership as a lone wolf, and then, if I get
&lt;br&gt;&amp;gt; somewhere, shop it commons-collections and/or Harmony. In the Harmony
&lt;br&gt;&amp;gt; case, there would really be an opportunity to look at the possibility
&lt;br&gt;&amp;gt; of a JSR process for the specific question of primitive type
&lt;br&gt;&amp;gt; collections, which require new API. Anyway, that's way out there in
&lt;br&gt;&amp;gt; the foggy future.
&lt;/div&gt;&lt;br&gt;+1
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I apologize for sending this initially with an uninformative subject
&lt;br&gt;&amp;gt; line as just the XML slug.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --benson
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;&amp;gt; Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;&amp;gt; xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;&amp;gt; for space-efficiency, particularly when primitive Java types are
&lt;br&gt;&amp;gt; involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578122&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578122&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578122&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578122&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26578122.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26578127</id>
	<title>Re: Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-11-30T09:01:53Z</published>
	<updated>2009-11-30T09:01:53Z</updated>
	<author>
		<name>Jukka Zitting</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 5:56 PM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578127&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I propose to use labs to try out the initial implementation of a
&lt;br&gt;&amp;gt; storage-efficient set of associative data structures for Java.
&lt;br&gt;&lt;br&gt;How does this compare to &lt;a href=&quot;http://commons.apache.org/primitives/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://commons.apache.org/primitives/&lt;/a&gt;?
&lt;br&gt;&lt;br&gt;BR,
&lt;br&gt;&lt;br&gt;Jukka Zitting
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578127&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578127&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26578127.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26578008</id>
	<title>Proposal: lab for early experiments in storage-efficient Java  collections [replaces silly subject]</title>
	<published>2009-11-30T08:56:47Z</published>
	<updated>2009-11-30T08:56:47Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Dear labs,
&lt;br&gt;&lt;br&gt;I propose to use labs to try out the initial implementation of a
&lt;br&gt;storage-efficient set of associative data structures for Java. My
&lt;br&gt;frank goal is to deliver the capability of GNU Trove under the ASL,
&lt;br&gt;and perhaps then some. I'd like to use the labs to rough out with
&lt;br&gt;unambiguous ASF ownership as a lone wolf, and then, if I get
&lt;br&gt;somewhere, shop it commons-collections and/or Harmony. In the Harmony
&lt;br&gt;case, there would really be an opportunity to look at the possibility
&lt;br&gt;of a JSR process for the specific question of primitive type
&lt;br&gt;collections, which require new API. Anyway, that's way out there in
&lt;br&gt;the foggy future.
&lt;br&gt;&lt;br&gt;I apologize for sending this initially with an uninformative subject
&lt;br&gt;line as just the XML slug.
&lt;br&gt;&lt;br&gt;--benson
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;for space-efficiency, particularly when primitive Java types are
&lt;br&gt;involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578008&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26578008&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Proposal%3A-lab-for-early-experiments-in-storage-efficient-Java--collections--replaces-silly-subject--tp26578008p26578008.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26576932</id>
	<title>Re: Take 2</title>
	<published>2009-11-30T07:55:12Z</published>
	<updated>2009-11-30T07:55:12Z</updated>
	<author>
		<name>Bernd Fondermann</name>
	</author>
	<content type="html">Benson Margulies wrote:
&lt;br&gt;&amp;gt; Sure.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Have a look at &lt;a href=&quot;http://people.apache.org/~bimargulies/memory-efficient-java-tutorial.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies/memory-efficient-java-tutorial.pdf&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;Wow, that's elaborate, a 140 slide PDF. ;-) I bailed out at slide 58ish.
&lt;br&gt;&lt;br&gt;I have 2 suggestions:
&lt;br&gt;1. You write 1 or 2 sentences in a follow up post describing your lab so
&lt;br&gt;that people can easily decide +1 or not.
&lt;br&gt;2. You choose a subject like &amp;quot;Lab request: Primitive Type Collections&amp;quot;,
&lt;br&gt;so that people know what your post actually is about.
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think that the world needs something like GNU Trove with an Apache
&lt;br&gt;&amp;gt; license. I'd like to use labs to experiment with this as a
&lt;br&gt;&amp;gt; one-man-band. 
&lt;br&gt;&lt;br&gt;Sounds reasonable.
&lt;br&gt;&lt;br&gt;&amp;gt; If I can get it off the ground, I'll bring it to
&lt;br&gt;&amp;gt; commons-collections.
&lt;br&gt;&lt;br&gt;+1. Alternatively, you could ping the Harmony project.
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; --benson
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Mon, Nov 30, 2009 at 4:38 AM, Bernd Fondermann
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bernd.fondermann@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi Benson,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; can you elaborate a little bit more than only posting a RDF?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp;Bernd
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Fri, Nov 27, 2009 at 21:36, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Dear Labs,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Please forget about my previous inquiry about using labs as a target
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for some preexisting stable code. This is an entirely new project I'm
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; contemplating.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for space-efficiency, particularly when primitive Java types are
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --benson margulies
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=8&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26576932&amp;i=9&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Take-2-tp26547486p26576932.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26574301</id>
	<title>Re: Take 2</title>
	<published>2009-11-30T04:56:50Z</published>
	<updated>2009-11-30T04:56:50Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Sure.
&lt;br&gt;&lt;br&gt;Have a look at &lt;a href=&quot;http://people.apache.org/~bimargulies/memory-efficient-java-tutorial.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies/memory-efficient-java-tutorial.pdf&lt;/a&gt;.
&lt;br&gt;&lt;br&gt;I think that the world needs something like GNU Trove with an Apache
&lt;br&gt;license. I'd like to use labs to experiment with this as a
&lt;br&gt;one-man-band. If I can get it off the ground, I'll bring it to
&lt;br&gt;commons-collections.
&lt;br&gt;&lt;br&gt;--benson
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Mon, Nov 30, 2009 at 4:38 AM, Bernd Fondermann
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bernd.fondermann@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Benson,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; can you elaborate a little bit more than only posting a RDF?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  Bernd
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Fri, Nov 27, 2009 at 21:36, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Dear Labs,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Please forget about my previous inquiry about using labs as a target
&lt;br&gt;&amp;gt;&amp;gt; for some preexisting stable code. This is an entirely new project I'm
&lt;br&gt;&amp;gt;&amp;gt; contemplating.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;&amp;gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;&amp;gt;&amp;gt; Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;&amp;gt;&amp;gt; xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;&amp;gt;&amp;gt; for space-efficiency, particularly when primitive Java types are
&lt;br&gt;&amp;gt;&amp;gt; involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;&amp;gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;&amp;gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; --benson margulies
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26574301&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Take-2-tp26547486p26574301.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26571745</id>
	<title>Re: Take 2</title>
	<published>2009-11-30T01:38:31Z</published>
	<updated>2009-11-30T01:38:31Z</updated>
	<author>
		<name>Bernd Fondermann-2</name>
	</author>
	<content type="html">Hi Benson,
&lt;br&gt;&lt;br&gt;can you elaborate a little bit more than only posting a RDF?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;&amp;nbsp; Bernd
&lt;br&gt;&lt;br&gt;On Fri, Nov 27, 2009 at 21:36, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26571745&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Dear Labs,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please forget about my previous inquiry about using labs as a target
&lt;br&gt;&amp;gt; for some preexisting stable code. This is an entirely new project I'm
&lt;br&gt;&amp;gt; contemplating.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;&amp;gt; xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;&amp;gt; Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;&amp;gt; xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;&amp;gt; for space-efficiency, particularly when primitive Java types are
&lt;br&gt;&amp;gt; involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;&amp;gt; rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;&amp;gt; rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --benson margulies
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26571745&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26571745&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26571745&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26571745&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Take-2-tp26547486p26571745.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26547486</id>
	<title>Take 2</title>
	<published>2009-11-27T12:36:12Z</published>
	<updated>2009-11-27T12:36:12Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Dear Labs,
&lt;br&gt;&lt;br&gt;Please forget about my previous inquiry about using labs as a target
&lt;br&gt;for some preexisting stable code. This is an entirely new project I'm
&lt;br&gt;contemplating.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;rdf:RDF xmlns:rdf=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/02/22-rdf-syntax-ns#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns=&amp;quot;&lt;a href=&quot;http://usefulinc.com/ns/doap#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/ns/doap#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:foaf=&amp;quot;&lt;a href=&quot;http://xmlns.com/foaf/0.1/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlns.com/foaf/0.1/&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:labs=&amp;quot;&lt;a href=&quot;http://labs.apache.org/doap-ext/1.0#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/doap-ext/1.0#&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns:projects=&amp;quot;&lt;a href=&quot;http://projects.apache.org/ns/asfext#&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://projects.apache.org/ns/asfext#&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;Project
&lt;br&gt;rdf:about=&amp;quot;&lt;a href=&quot;http://labs.apache.org/labs#ptcol&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/labs#ptcol&lt;/a&gt;&amp;quot;&amp;gt; &amp;lt;name&amp;gt;Primitive Type
&lt;br&gt;Collections&amp;lt;/name&amp;gt; &amp;lt;shortname&amp;gt;ptcol&amp;lt;/shortname&amp;gt; &amp;lt;shortdesc
&lt;br&gt;xml:lang=&amp;quot;en&amp;quot;&amp;gt;Efficient collections with primitive types&amp;lt;/shortdesc&amp;gt;
&lt;br&gt;&amp;lt;description xml:lang=&amp;quot;en&amp;quot;&amp;gt;ASLicensed collections library optimized
&lt;br&gt;for space-efficiency, particularly when primitive Java types are
&lt;br&gt;involved.&amp;lt;/description&amp;gt; &amp;lt;homepage
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://labs.apache.org/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://labs.apache.org/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;license
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://usefulinc.com/doap/licenses/asl20&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://usefulinc.com/doap/licenses/asl20&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;created&amp;gt;2009-11-27&amp;lt;/created&amp;gt; &amp;lt;labs:status&amp;gt;active&amp;lt;/labs:status&amp;gt;
&lt;br&gt;&amp;lt;maintainer&amp;gt; &amp;lt;foaf:Person
&lt;br&gt;rdf:about=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/#me&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../#me&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&amp;lt;foaf:name&amp;gt;Benson Margulies&amp;lt;/foaf:name&amp;gt; &amp;lt;foaf:homepage
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://people.apache.org/~bimargulies@people.apache.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://people.apache.org/~bimargulies@.../&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;foaf:mbox_sha1sum&amp;gt;d06f334ab199343861971265fcad6b475f0f7cdf&amp;lt;/foaf:mbox_sha1sum&amp;gt;
&lt;br&gt;&amp;lt;/foaf:Person&amp;gt; &amp;lt;/maintainer&amp;gt; &amp;lt;repository&amp;gt; &amp;lt;SVNRepository&amp;gt; &amp;lt;location
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/repos/asf/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/repos/asf/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt; &amp;lt;browse
&lt;br&gt;rdf:resource=&amp;quot;&lt;a href=&quot;http://svn.apache.org/viewvc/labs/ptcol/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/labs/ptcol/&lt;/a&gt;&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/SVNRepository&amp;gt; &amp;lt;/repository&amp;gt;
&lt;br&gt;&amp;lt;programming-language&amp;gt;java&amp;lt;/programming-language&amp;gt; &amp;lt;/Project&amp;gt;
&lt;br&gt;&amp;lt;/rdf:RDF&amp;gt;
&lt;br&gt;&lt;br&gt;--benson margulies
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26547486&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26547486&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Take-2-tp26547486p26547486.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26516617</id>
	<title>[jira] Updated: (LABS-497) [email] problems sending emails from within a job</title>
	<published>2009-11-25T09:12:39Z</published>
	<updated>2009-11-25T09:12:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-497?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Massimo Guidi updated LABS-497:
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Description: 
&lt;br&gt;problems sending emails from within a job.
&lt;br&gt;&lt;br&gt;exception stacktrace:
&lt;br&gt;&lt;br&gt;java.lang.NullPointerException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.website.Producer.getBasePath(Producer.java:75)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.email.AddWebBasedEmailMethods.ajc$interMethod$org_apache_magma_email_AddWebBasedEmailMethods$org_apache_magma_email_Email$html(AddWebBasedEmailMethods.aj:42)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.email.Email.html(Email.java:1)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.email.AddWebBasedEmailMethods.ajc$interMethodDispatch1$org_apache_magma_email_AddWebBasedEmailMethods$org_apache_magma_email_Email$html(AddWebBasedEmailMethods.aj)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.web.newsletter.SendNewsletter.run(SendNewsletter.java:35)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.magma.jobs.simple.JobExecutingThread.run(JobExecutingThread.java:50)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [email] problems sending emails from within a job
&lt;br&gt;&amp;gt; -------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-497
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-497&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-497&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Massimo Guidi
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; problems sending emails from within a job.
&lt;br&gt;&amp;gt; exception stacktrace:
&lt;br&gt;&amp;gt; java.lang.NullPointerException
&lt;br&gt;&amp;gt; 	at org.apache.magma.website.Producer.getBasePath(Producer.java:75)
&lt;br&gt;&amp;gt; 	at org.apache.magma.email.AddWebBasedEmailMethods.ajc$interMethod$org_apache_magma_email_AddWebBasedEmailMethods$org_apache_magma_email_Email$html(AddWebBasedEmailMethods.aj:42)
&lt;br&gt;&amp;gt; 	at org.apache.magma.email.Email.html(Email.java:1)
&lt;br&gt;&amp;gt; 	at org.apache.magma.email.AddWebBasedEmailMethods.ajc$interMethodDispatch1$org_apache_magma_email_AddWebBasedEmailMethods$org_apache_magma_email_Email$html(AddWebBasedEmailMethods.aj)
&lt;br&gt;&amp;gt; 	at org.apache.magma.web.newsletter.SendNewsletter.run(SendNewsletter.java:35)
&lt;br&gt;&amp;gt; 	at org.apache.magma.jobs.simple.JobExecutingThread.run(JobExecutingThread.java:50)
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516617&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516617&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-497%29--email--problems-sending-emails-from-within-a-job-tp26516579p26516617.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26516579</id>
	<title>[jira] Created: (LABS-497) [email] problems sending emails from within a job</title>
	<published>2009-11-25T09:10:39Z</published>
	<updated>2009-11-25T09:10:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[email] problems sending emails from within a job
&lt;br&gt;-------------------------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: LABS-497
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-497&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-497&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: Labs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Magma
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: Current
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Massimo Guidi
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: Current
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516579&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516579&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-497%29--email--problems-sending-emails-from-within-a-job-tp26516579p26516579.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26502303</id>
	<title>Re: Labs mission question</title>
	<published>2009-11-24T12:01:24Z</published>
	<updated>2009-11-24T12:01:24Z</updated>
	<author>
		<name>Roland Weber</name>
	</author>
	<content type="html">Benson Margulies wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; As an ASF member, it is my (perhaps mistaken) belief that bringing
&lt;br&gt;&amp;gt; more useful resources under the ASF umbrella is a good thing.
&lt;br&gt;&lt;br&gt;I read, once in a while, that Apache is about communities
&lt;br&gt;and not (just) code. What you have is just code, right?
&lt;br&gt;&lt;br&gt;&amp;gt; I described the situation
&lt;br&gt;&amp;gt; on the ASF members list, and several people piped up and said, 'labs.'
&lt;br&gt;&lt;br&gt;I read parts of that conversation, and didn't like that
&lt;br&gt;recommendation at all. Sorry, I don't have much time to
&lt;br&gt;engage on those conversations, or else I would have posted
&lt;br&gt;then.
&lt;br&gt;I believe that the people who said &amp;quot;labs&amp;quot; have an incorrect
&lt;br&gt;understanding of what labs is about. Maybe they think that
&lt;br&gt;Labs is the place for anything that isn't big enough to
&lt;br&gt;become a project of its own. But as I understand it, Labs
&lt;br&gt;is a playground for Apache committers, where they can develop
&lt;br&gt;code without growing a community first.
&lt;br&gt;&lt;br&gt;You have code that is already done. Finished. Nothing to
&lt;br&gt;work on, or so I understood your situation. So I don't
&lt;br&gt;think that creating a lab just to have a target for a
&lt;br&gt;once-only code dump is appropriate.
&lt;br&gt;I would also suggest Google Code, or some other project
&lt;br&gt;hosting provider. Or you can put it on your private
&lt;br&gt;homepage at Apache. Without development going on, there
&lt;br&gt;is no need for version control and issue tracking, right?
&lt;br&gt;If there is an active Apache project in the future that
&lt;br&gt;is a fit for the code, then will be the right time to
&lt;br&gt;move it there.
&lt;br&gt;&lt;br&gt;cheers,
&lt;br&gt;&amp;nbsp; &amp;nbsp;Roland
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26502303&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26502303&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Labs-mission-question-tp26497708p26502303.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26498993</id>
	<title>Re: Labs mission question</title>
	<published>2009-11-24T08:25:17Z</published>
	<updated>2009-11-24T08:25:17Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Martin,
&lt;br&gt;&lt;br&gt;As an ASF member, it is my (perhaps mistaken) belief that bringing
&lt;br&gt;more useful resources under the ASF umbrella is a good thing.
&lt;br&gt;&lt;br&gt;So, here I am. The place I work has this resource, I/we would like to
&lt;br&gt;contribute it to ASF, but for that to work there has to be someplace
&lt;br&gt;to put it.
&lt;br&gt;&lt;br&gt;After determining a lack of fit with Mahout, I described the situation
&lt;br&gt;on the ASF members list, and several people piped up and said, 'labs.'
&lt;br&gt;Upon reading up on labs, I was disquieted by the same issues you
&lt;br&gt;raise, which I why I sent a query instead of just asking for a lab to
&lt;br&gt;be created.
&lt;br&gt;&lt;br&gt;In general, committers commit other people's work constantly. That's
&lt;br&gt;how new people become committers, after all. And I'd imagine that most
&lt;br&gt;corporate code contributions are committed by people who didn't write
&lt;br&gt;all, or any of them. I can see how this would be inappropriate for the
&lt;br&gt;lab, and, again, that's howcome I asked.
&lt;br&gt;&lt;br&gt;--benson
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Tue, Nov 24, 2009 at 11:11 AM, Martin Cooper &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;martinc@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; On Tue, Nov 24, 2009 at 7:16 AM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; Dear labs,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I have some code that I would like to publish at ASF.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This first sentence bothers me. Why do you want to do this, in
&lt;br&gt;&amp;gt; preference to, for example, creating a project at Google Code? And
&lt;br&gt;&amp;gt; what does it mean to you to &amp;quot;publish&amp;quot; at the ASF given that Labs
&lt;br&gt;&amp;gt; cannot have releases? In short, what would be the real motivation in
&lt;br&gt;&amp;gt; bringing the code to the ASF, and bringing it here now?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;snip/&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 2) Jethran is not a committer anywhere, and so while he is the author,
&lt;br&gt;&amp;gt;&amp;gt; I'd be the person requesting the lab and committing. If that's not
&lt;br&gt;&amp;gt;&amp;gt; appropriate, then I shouldn't do it.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That does not sound appropriate to me. If the code is not yours, and
&lt;br&gt;&amp;gt; you would just be committing someone else's code and changes for them,
&lt;br&gt;&amp;gt; then the ASF as a whole is not appropriate, let alone Labs.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; So, the question is, would you think it reasonable for me to request
&lt;br&gt;&amp;gt;&amp;gt; an NLP lab, or should we just plop it on Google Code?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Honestly, Google Code seems like a better fit from what you have
&lt;br&gt;&amp;gt; described. Neither the ASF in general, nor Labs in particular, seem
&lt;br&gt;&amp;gt; appropriate.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Martin Cooper
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; benson margulies
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498993&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Labs-mission-question-tp26497708p26498993.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26498754</id>
	<title>Re: Labs mission question</title>
	<published>2009-11-24T08:11:33Z</published>
	<updated>2009-11-24T08:11:33Z</updated>
	<author>
		<name>Martin Cooper-2</name>
	</author>
	<content type="html">On Tue, Nov 24, 2009 at 7:16 AM, Benson Margulies &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498754&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;bimargulies@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; Dear labs,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have some code that I would like to publish at ASF.
&lt;br&gt;&lt;br&gt;This first sentence bothers me. Why do you want to do this, in
&lt;br&gt;preference to, for example, creating a project at Google Code? And
&lt;br&gt;what does it mean to you to &amp;quot;publish&amp;quot; at the ASF given that Labs
&lt;br&gt;cannot have releases? In short, what would be the real motivation in
&lt;br&gt;bringing the code to the ASF, and bringing it here now?
&lt;br&gt;&lt;br&gt;&amp;lt;snip/&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;gt; 2) Jethran is not a committer anywhere, and so while he is the author,
&lt;br&gt;&amp;gt; I'd be the person requesting the lab and committing. If that's not
&lt;br&gt;&amp;gt; appropriate, then I shouldn't do it.
&lt;br&gt;&lt;br&gt;That does not sound appropriate to me. If the code is not yours, and
&lt;br&gt;you would just be committing someone else's code and changes for them,
&lt;br&gt;then the ASF as a whole is not appropriate, let alone Labs.
&lt;br&gt;&lt;br&gt;&amp;gt; So, the question is, would you think it reasonable for me to request
&lt;br&gt;&amp;gt; an NLP lab, or should we just plop it on Google Code?
&lt;br&gt;&lt;br&gt;Honestly, Google Code seems like a better fit from what you have
&lt;br&gt;described. Neither the ASF in general, nor Labs in particular, seem
&lt;br&gt;appropriate.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Martin Cooper
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; benson margulies
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498754&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498754&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498754&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498754&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Labs-mission-question-tp26497708p26498754.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26497708</id>
	<title>Labs mission question</title>
	<published>2009-11-24T07:16:05Z</published>
	<updated>2009-11-24T07:16:05Z</updated>
	<author>
		<name>bimargulies</name>
	</author>
	<content type="html">Dear labs,
&lt;br&gt;&lt;br&gt;I have some code that I would like to publish at ASF. Some folks at
&lt;br&gt;members@ suggested labs, but I'm a bit uncertain whether it is really
&lt;br&gt;a good lab topic. (Me, I'm a committer and an ASF member).
&lt;br&gt;&lt;br&gt;The code is a mature implementation of a hard NLP algorithm of general
&lt;br&gt;utility, written in C++. The author, Jethran Guinness, works with me
&lt;br&gt;at Basis Technology Corp.
&lt;br&gt;&lt;br&gt;While the code is in the same general topic space as the Mahout piece
&lt;br&gt;of the Lucene TLP, it's implementation is far away from their
&lt;br&gt;technology center. Aside from all other considerations, that makes it
&lt;br&gt;hard for me or Jethran to imagine earning committer status there. Thus
&lt;br&gt;the idea of labs.
&lt;br&gt;&lt;br&gt;As I read the mission statement of the labs, I am left with two doubts.
&lt;br&gt;&lt;br&gt;1) The lab is defined as a place to innovate. Well, this might be
&lt;br&gt;innovation in the sense that there's nothing else much like this at
&lt;br&gt;ASF at the moment. But it's not going to change very much or very
&lt;br&gt;often, and there's no telling whether it will attract any related code
&lt;br&gt;from other committers. So it might just sit there forever.
&lt;br&gt;&lt;br&gt;2) Jethran is not a committer anywhere, and so while he is the author,
&lt;br&gt;I'd be the person requesting the lab and committing. If that's not
&lt;br&gt;appropriate, then I shouldn't do it.
&lt;br&gt;&lt;br&gt;So, the question is, would you think it reasonable for me to request
&lt;br&gt;an NLP lab, or should we just plop it on Google Code?
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;benson margulies
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26497708&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26497708&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Labs-mission-question-tp26497708p26497708.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26408063</id>
	<title>[jira] Resolved: (LABS-495) [beans][speed] Optimize useless calls to getters, using lazy as much as possible</title>
	<published>2009-11-18T05:48:39Z</published>
	<updated>2009-11-18T05:48:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Simone Gianni resolved LABS-495.
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [beans][speed] Optimize useless calls to getters, using lazy as much as possible
&lt;br&gt;&amp;gt; --------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-495
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-495&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-495&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Currently there are a number of calls to beans getters made by the handler to pre-populate its &amp;quot;local cache&amp;quot;. Many of these calls are useless, cause those properties will not be always used.
&lt;br&gt;&amp;gt; Moreover, if those properties are somehow dynamically generated, cause an overhead which can be huge.
&lt;br&gt;&amp;gt; There are already in places some checks, to avoid for example loading of lazy relationships in JPA, so it can work also without all pre-buffering. It would be better to not preload at all, and have all work on lazy loading.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26408063&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26408063&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-495%29--beans--speed--Optimize-useless-calls-to-getters%2C-using-lazy-as-much-as-possible-tp26299670p26408063.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26399738</id>
	<title>[jira] Resolved: (LABS-496) [Maps] Missings link to map view</title>
	<published>2009-11-17T15:26:39Z</published>
	<updated>2009-11-17T15:26:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Simone Gianni resolved LABS-496.
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Resolution: Fixed
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [Maps] Missings link to map view
&lt;br&gt;&amp;gt; --------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-496
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-496&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-496&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Arianna Giancola
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Critical
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Missings link for map view in list. Not access the function also by using the correct URL.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399738&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399738&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-496%29--Maps--Missings-link-to-map-view-tp26391475p26399738.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26399739</id>
	<title>[jira] Updated: (LABS-496) [Maps] Missings link to map view</title>
	<published>2009-11-17T15:26:39Z</published>
	<updated>2009-11-17T15:26:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Simone Gianni updated LABS-496:
&lt;br&gt;-------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; Remaining Estimate: 0h
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;Original Estimate: 0h
&lt;br&gt;&lt;br&gt;A few hooks have been affected by recent refactorings.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [Maps] Missings link to map view
&lt;br&gt;&amp;gt; --------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-496
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-496&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-496&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Bug
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Arianna Giancola
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Priority: Critical
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Missings link for map view in list. Not access the function also by using the correct URL.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399739&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26399739&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-496%29--Maps--Missings-link-to-map-view-tp26391475p26399739.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26391475</id>
	<title>[jira] Created: (LABS-496) [Maps] Missings link to map view</title>
	<published>2009-11-17T07:05:39Z</published>
	<updated>2009-11-17T07:05:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">[Maps] Missings link to map view
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Key: LABS-496
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-496&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-496&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Project: Labs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Issue Type: Bug
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Components: Magma
&lt;br&gt;&amp;nbsp; &amp;nbsp; Affects Versions: Current
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Reporter: Arianna Giancola
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: Critical
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Fix For: Current
&lt;br&gt;&lt;br&gt;&lt;br&gt;Missings link for map view in list. Not access the function also by using the correct URL.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26391475&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26391475&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-496%29--Maps--Missings-link-to-map-view-tp26391475p26391475.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26338936</id>
	<title>[jira] Commented: (LABS-494) [web] More support for CSS styling</title>
	<published>2009-11-13T08:03:39Z</published>
	<updated>2009-11-13T08:03:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; [ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12777537#action_12777537&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&amp;focusedCommentId=12777537#action_12777537&lt;/a&gt;&amp;nbsp;] 
&lt;br&gt;&lt;br&gt;Simone Gianni commented on LABS-494:
&lt;br&gt;------------------------------------
&lt;br&gt;&lt;br&gt;Clients demand more support for customizing CSS classes and ids. So, I'm going to add the following methods to HtmlProducer :
&lt;br&gt;- addCssClass(String) : adds a custom CSS class on the enclosing div of that producer
&lt;br&gt;- useDefaultClasses(boolean) : tells wether to inject or not the default Magma CSS classes on the enclosing div of that producer
&lt;br&gt;- setHtmlId(String) : sets a custom id on the enclosing div of that producer
&lt;br&gt;&lt;br&gt;Moreover, for compounded elements :
&lt;br&gt;- addCompoundCssClass(String, CompoundType) : adds a custom CSS class on the enclosing div of the compounded elements
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [web] More support for CSS styling
&lt;br&gt;&amp;gt; ----------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-494
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Currently Magma offers a flexible way to aggregate output from different methods in the page. Howeverm, since the HTML is often generated by Magma components, great care is needed in offering enough HTML elements and CSS classes to permit a complete CSS customization.
&lt;br&gt;&amp;gt; Currently, most components (like lists and forms) do provide extensive CSS classes. The template and compunding system however don't.
&lt;br&gt;&amp;gt; When a template is outputting different parts in a zone (like for example boxes) it wraps those pieces in divs, but which CSS classes are applied to that div is not clear.
&lt;br&gt;&amp;gt; At the same time, for I18N and other systems, Magma keeps a kind of &amp;quot;stack&amp;quot; of the context in which it is evaluating current HTML, making this information available on the page CSS seems to be a simple and complete way of &amp;nbsp;having all the informations.
&lt;br&gt;&amp;gt; So, each time the template is producing an HTML div around an HTML piece, it should include all the non-already-outputted context as CSS classes, plus a &amp;quot;relation class&amp;quot;, which will always be the same.
&lt;br&gt;&amp;gt; Moreover, whenever the compunding system outputs a compunded piece of HTML, it should wrap it in a div, placing again the context as CSS classes, plus a relation class that indicates the kind of compound.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26338936&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26338936&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-494%29--web--More-support-for-CSS-styling-tp26132294p26338936.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26338259</id>
	<title>[jira] Reopened: (LABS-494) [web] More support for CSS styling</title>
	<published>2009-11-13T07:21:39Z</published>
	<updated>2009-11-13T07:21:39Z</updated>
	<author>
		<name>JIRA jira@apache.org</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[ &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel&lt;/a&gt;&amp;nbsp;]
&lt;br&gt;&lt;br&gt;Simone Gianni reopened LABS-494:
&lt;br&gt;--------------------------------
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [web] More support for CSS styling
&lt;br&gt;&amp;gt; ----------------------------------
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Key: LABS-494
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; URL: &lt;a href=&quot;https://issues.apache.org/jira/browse/LABS-494&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/jira/browse/LABS-494&lt;/a&gt;&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Project: Labs
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Issue Type: Improvement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Components: Magma
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Affects Versions: Current
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Reporter: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Assignee: Simone Gianni
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Fix For: Current
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; Original Estimate: 0h
&lt;br&gt;&amp;gt; &amp;nbsp;Remaining Estimate: 0h
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Currently Magma offers a flexible way to aggregate output from different methods in the page. Howeverm, since the HTML is often generated by Magma components, great care is needed in offering enough HTML elements and CSS classes to permit a complete CSS customization.
&lt;br&gt;&amp;gt; Currently, most components (like lists and forms) do provide extensive CSS classes. The template and compunding system however don't.
&lt;br&gt;&amp;gt; When a template is outputting different parts in a zone (like for example boxes) it wraps those pieces in divs, but which CSS classes are applied to that div is not clear.
&lt;br&gt;&amp;gt; At the same time, for I18N and other systems, Magma keeps a kind of &amp;quot;stack&amp;quot; of the context in which it is evaluating current HTML, making this information available on the page CSS seems to be a simple and complete way of &amp;nbsp;having all the informations.
&lt;br&gt;&amp;gt; So, each time the template is producing an HTML div around an HTML piece, it should include all the non-already-outputted context as CSS classes, plus a &amp;quot;relation class&amp;quot;, which will always be the same.
&lt;br&gt;&amp;gt; Moreover, whenever the compunding system outputs a compunded piece of HTML, it should wrap it in a div, placing again the context as CSS classes, plus a relation class that indicates the kind of compound.
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;This message is automatically generated by JIRA.
&lt;br&gt;-
&lt;br&gt;You can reply to this email to add a comment to the issue online.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26338259&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26338259&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;labs-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-jira--Created%3A-%28LABS-494%29--web--More-support-for-CSS-styling-tp26132294p26338259.html" />
</entry>

</feed>
