Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'proprietary/tests')
-rw-r--r--proprietary/tests/annotation.declaration/.classpath6
-rw-r--r--proprietary/tests/annotation.declaration/.gitignore1
-rw-r--r--proprietary/tests/annotation.declaration/.project17
-rw-r--r--proprietary/tests/annotation.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/annotation.declaration/annotation.declaration_profile.profile.uml205
-rw-r--r--proprietary/tests/annotation.declaration/jump.test.annotation.declaration_java.xmi22
-rw-r--r--proprietary/tests/annotation.declaration/src/annotation/declaration/MyAnnotation.java18
-rw-r--r--proprietary/tests/annotationmember.declaration/.classpath6
-rw-r--r--proprietary/tests/annotationmember.declaration/.gitignore1
-rw-r--r--proprietary/tests/annotationmember.declaration/.project17
-rw-r--r--proprietary/tests/annotationmember.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/annotationmember.declaration/annotationmember.declaration_java.xmi72
-rw-r--r--proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyAnnotation.java24
-rw-r--r--proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyOtherAnnotation.java18
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.classpath9
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.project29
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/META-INF/MANIFEST.MF28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/cfg/configuration.jcfg4
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotation.declaration.xmi22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotationmember.declaration.xmi72
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/objectify.xmi62643
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/target.declaration.xmi42
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/EclipseLink_profile.profile.uml10198
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/annotation.declaration_profile.profile.uml205
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/annotationmember.declaration_profile.profile.uml425
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/objectify_profile.profile.uml1132
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/umlprofile/target.declaration_profile.profile.uml85
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestCodeModel2UMLProfile-All.launch46
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestJavaLibraries-Objectify.launch46
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/launch/TestProfileStructure.launch49
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/AllTests.java24
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestJavaLibraries.java157
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestProfileStructure.java173
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/TestUtil.java142
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/src/org/eclipse/upr/platform/java/cm2up/test/UMLHelper.groovy36
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.classpath7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.project28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/META-INF/MANIFEST.MF13
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.papyrus.test/src/org/eclipse/upr/platform/java/profiles/papyrus/test/TestPapyrusProfiles.java67
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.classpath7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.gitignore1
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.project28
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/META-INF/MANIFEST.MF15
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/about.html22
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/build.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/plugin.properties17
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/pom.xml27
-rw-r--r--proprietary/tests/org.eclipse.upr.platform.java.profiles.test/src/org/eclipse/upr/platform/java/profiles/test/TestProfiles.java80
-rw-r--r--proprietary/tests/target.declaration/.classpath6
-rw-r--r--proprietary/tests/target.declaration/.gitignore1
-rw-r--r--proprietary/tests/target.declaration/.project17
-rw-r--r--proprietary/tests/target.declaration/.settings/org.eclipse.jdt.core.prefs11
-rw-r--r--proprietary/tests/target.declaration/src/target/declaration/MyAnnotation.java22
-rw-r--r--proprietary/tests/target.declaration/target.declaration_java.xmi42
67 files changed, 76613 insertions, 0 deletions
diff --git a/proprietary/tests/annotation.declaration/.classpath b/proprietary/tests/annotation.declaration/.classpath
new file mode 100644
index 0000000..fb565a5
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/tests/annotation.declaration/.gitignore b/proprietary/tests/annotation.declaration/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/proprietary/tests/annotation.declaration/.project b/proprietary/tests/annotation.declaration/.project
new file mode 100644
index 0000000..4e23ff8
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>annotation.declaration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/tests/annotation.declaration/.settings/org.eclipse.jdt.core.prefs b/proprietary/tests/annotation.declaration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7341ab1
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/tests/annotation.declaration/annotation.declaration_profile.profile.uml b/proprietary/tests/annotation.declaration/annotation.declaration_profile.profile.uml
new file mode 100644
index 0000000..fe3a774
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/annotation.declaration_profile.profile.uml
@@ -0,0 +1,205 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:javaProfile="http:///schemas/javaProfile/_wCZm0N0oEeSfefuUt0TgMw/3" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http:///schemas/javaProfile/_wCZm0N0oEeSfefuUt0TgMw/3 pathmap://JAVA_PROFILE/javaProfile.uml#_wCcqIN0oEeSfefuUt0TgMw">
+ <uml:Profile xmi:id="_U0_i8Bv1EeWMHLV_IiuC4A" name="annotation.declaration" metamodelReference="_U0_jJRv1EeWMHLV_IiuC4A">
+ <eAnnotations xmi:id="_U0_i8Rv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <contents xmi:type="ecore:EPackage" xmi:id="_U0_i8hv1EeWMHLV_IiuC4A" name="annotationdeclaration" nsURI="http:///schemas/annotationdeclaration/_U06DYBv1EeWMHLV_IiuC4A/0" nsPrefix="annotationdeclaration">
+ <eAnnotations xmi:id="_U0_i8xv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details xmi:id="_U0_i9Bv1EeWMHLV_IiuC4A" key="originalName" value="annotation.declaration"/>
+ </eAnnotations>
+ <eSubpackages xmi:id="_U0_i9Rv1EeWMHLV_IiuC4A" name="annotation" nsURI="http:///annotationdeclaration/annotation.ecore" nsPrefix="annotationdeclaration.annotation">
+ <eAnnotations xmi:id="_U0_i9hv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_U0_jJxv1EeWMHLV_IiuC4A"/>
+ <eSubpackages xmi:id="_U0_i9xv1EeWMHLV_IiuC4A" name="declaration" nsURI="http:///annotationdeclaration/annotation/declaration.ecore" nsPrefix="annotationdeclaration.annotation.declaration">
+ <eAnnotations xmi:id="_U0_i-Bv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/4.0.0/UML" references="_U0_jKBv1EeWMHLV_IiuC4A"/>
+ <eClassifiers xmi:type="ecore:EClass" xmi:id="_U0_i-Rv1EeWMHLV_IiuC4A" name="MyAnnotation">
+ <eAnnotations xmi:id="_U0_i-hv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/2.0.0/UML" references="_U0_jKRv1EeWMHLV_IiuC4A"/>
+ <eOperations xmi:id="_U0_i-xv1EeWMHLV_IiuC4A" name="methodConstraint">
+ <eAnnotations xmi:id="_U0_i_Bv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_i_Rv1EeWMHLV_IiuC4A" key="documentation" value="not self.base_Property.oclIsUndefined() implies&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; self.base_Property.oclContainer().oclIsTypeOf(uml::Stereotype)"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_U0_i_xv1EeWMHLV_IiuC4A" name="diagnostics">
+ <eAnnotations xmi:id="_U0_jABv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_jARv1EeWMHLV_IiuC4A" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_U0_jAxv1EeWMHLV_IiuC4A" name="context">
+ <eAnnotations xmi:id="_U0_jBBv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_jBRv1EeWMHLV_IiuC4A" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_U0_jBhv1EeWMHLV_IiuC4A">
+ <eTypeArguments xmi:id="_U0_jBxv1EeWMHLV_IiuC4A">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_U0_jCBv1EeWMHLV_IiuC4A">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eOperations xmi:id="_U0_jCRv1EeWMHLV_IiuC4A" name="typeConstraint">
+ <eAnnotations xmi:id="_U0_jChv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_jCxv1EeWMHLV_IiuC4A" key="documentation" value="not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;uml::Class, uml::Enumeration, uml::Interface}&#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9; -> includes(self.base_Type.oclType())"/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ <eParameters xmi:id="_U0_jDRv1EeWMHLV_IiuC4A" name="diagnostics">
+ <eAnnotations xmi:id="_U0_jDhv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_jDxv1EeWMHLV_IiuC4A" key="documentation" value="The chain of diagnostics to which problems are to be appended."/>
+ </eAnnotations>
+ <eType xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EDiagnosticChain"/>
+ </eParameters>
+ <eParameters xmi:id="_U0_jERv1EeWMHLV_IiuC4A" name="context">
+ <eAnnotations xmi:id="_U0_jEhv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/emf/2002/GenModel">
+ <details xmi:id="_U0_jExv1EeWMHLV_IiuC4A" key="documentation" value="The cache of context-specific information."/>
+ </eAnnotations>
+ <eGenericType xmi:id="_U0_jFBv1EeWMHLV_IiuC4A">
+ <eTypeArguments xmi:id="_U0_jFRv1EeWMHLV_IiuC4A">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eTypeArguments xmi:id="_U0_jFhv1EeWMHLV_IiuC4A">
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EJavaObject"/>
+ </eTypeArguments>
+ <eClassifier xmi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EMap"/>
+ </eGenericType>
+ </eParameters>
+ </eOperations>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jFxv1EeWMHLV_IiuC4A" name="base_Stereotype" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Stereotype"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jGRv1EeWMHLV_IiuC4A" name="base_Property" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jGxv1EeWMHLV_IiuC4A" name="base_EnumerationLiteral" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//EnumerationLiteral"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jHRv1EeWMHLV_IiuC4A" name="base_Package" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jHxv1EeWMHLV_IiuC4A" name="base_Operation" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Operation"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jIRv1EeWMHLV_IiuC4A" name="base_Type" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
+ </eStructuralFeatures>
+ <eStructuralFeatures xmi:type="ecore:EReference" xmi:id="_U0_jIxv1EeWMHLV_IiuC4A" name="base_Parameter" ordered="false">
+ <eType xmi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ </eSubpackages>
+ </contents>
+ </eAnnotations>
+ <packageImport xmi:id="_U0_jJRv1EeWMHLV_IiuC4A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:id="_U0_jJhv1EeWMHLV_IiuC4A">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Package" xmi:id="_U0_jJxv1EeWMHLV_IiuC4A" name="annotation">
+ <packagedElement xmi:type="uml:Package" xmi:id="_U0_jKBv1EeWMHLV_IiuC4A" name="declaration">
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_U0_jKRv1EeWMHLV_IiuC4A" name="MyAnnotation" visibility="public">
+ <ownedRule xmi:id="_U0_jKhv1EeWMHLV_IiuC4A" name="methodConstraint" constrainedElement="_U0_jKRv1EeWMHLV_IiuC4A">
+ <specification xmi:type="uml:OpaqueExpression" xmi:id="_U0_jKxv1EeWMHLV_IiuC4A" name="methodConstraintExpression">
+ <language>OCL</language>
+ <body>not self.base_Property.oclIsUndefined() implies&#xD;
+ self.base_Property.oclContainer().oclIsTypeOf(uml::Stereotype)</body>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="_U0_jLBv1EeWMHLV_IiuC4A" name="typeConstraint" constrainedElement="_U0_jKRv1EeWMHLV_IiuC4A">
+ <specification xmi:type="uml:OpaqueExpression" xmi:id="_U0_jLRv1EeWMHLV_IiuC4A" name="typeConstraintExpression">
+ <language>OCL</language>
+ <body>not self.base_Type.oclIsUndefined() implies Set{uml::Stereotype,
+ uml::Class, uml::Enumeration, uml::Interface}&#xD;
+ -> includes(self.base_Type.oclType())</body>
+ </specification>
+ </ownedRule>
+ <ownedAttribute xmi:id="_U0_jLhv1EeWMHLV_IiuC4A" name="base_Stereotype" association="_U0_jQxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Stereotype"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jLxv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jMBv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jMRv1EeWMHLV_IiuC4A" name="base_Property" association="_U0_jRxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jMhv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jMxv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jNBv1EeWMHLV_IiuC4A" name="base_EnumerationLiteral" association="_U0_jSxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#EnumerationLiteral"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jNRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jNhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jNxv1EeWMHLV_IiuC4A" name="base_Package" association="_U0_jTxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Package"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jOBv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jORv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jOhv1EeWMHLV_IiuC4A" name="base_Operation" association="_U0_jUxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jOxv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jPBv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jPRv1EeWMHLV_IiuC4A" name="base_Type" association="_U0_jVxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Type"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jPhv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jPxv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="_U0_jQBv1EeWMHLV_IiuC4A" name="base_Parameter" association="_U0_jWxv1EeWMHLV_IiuC4A">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jQRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jQhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jQxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Stereotype" memberEnd="_U0_jLhv1EeWMHLV_IiuC4A _U0_jRBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jRBv1EeWMHLV_IiuC4A" name="extension_Stereotype" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jQxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jRRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jRhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jRxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Property" memberEnd="_U0_jMRv1EeWMHLV_IiuC4A _U0_jSBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jSBv1EeWMHLV_IiuC4A" name="extension_Property" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jRxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jSRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jShv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jSxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_EnumerationLiteral" memberEnd="_U0_jNBv1EeWMHLV_IiuC4A _U0_jTBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jTBv1EeWMHLV_IiuC4A" name="extension_EnumerationLiteral" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jSxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jTRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jThv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jTxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Package" memberEnd="_U0_jNxv1EeWMHLV_IiuC4A _U0_jUBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jUBv1EeWMHLV_IiuC4A" name="extension_Package" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jTxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jURv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jUhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jUxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Operation" memberEnd="_U0_jOhv1EeWMHLV_IiuC4A _U0_jVBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jVBv1EeWMHLV_IiuC4A" name="extension_Operation" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jUxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jVRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jVhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jVxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Type" memberEnd="_U0_jPRv1EeWMHLV_IiuC4A _U0_jWBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jWBv1EeWMHLV_IiuC4A" name="extension_Type" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jVxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jWRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jWhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_U0_jWxv1EeWMHLV_IiuC4A" name="extension_MyAnnotation_Parameter" memberEnd="_U0_jQBv1EeWMHLV_IiuC4A _U0_jXBv1EeWMHLV_IiuC4A">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_U0_jXBv1EeWMHLV_IiuC4A" name="extension_Parameter" type="_U0_jKRv1EeWMHLV_IiuC4A" aggregation="composite" association="_U0_jWxv1EeWMHLV_IiuC4A">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_U0_jXRv1EeWMHLV_IiuC4A"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U0_jXhv1EeWMHLV_IiuC4A" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:id="_U1AKABv1EeWMHLV_IiuC4A">
+ <eAnnotations xmi:id="_U1AKARv1EeWMHLV_IiuC4A" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://JAVA_PROFILE/javaProfile.uml#_wCcqIN0oEeSfefuUt0TgMw"/>
+ </eAnnotations>
+ <appliedProfile href="pathmap://JAVA_PROFILE/javaProfile.uml#_LICG-bmhEeKP6JNTocDZqQ"/>
+ </profileApplication>
+ </uml:Profile>
+ <javaProfile:JProfile xmi:id="_U1AKAhv1EeWMHLV_IiuC4A" base_Package="_U0_i8Bv1EeWMHLV_IiuC4A"/>
+</xmi:XMI>
diff --git a/proprietary/tests/annotation.declaration/jump.test.annotation.declaration_java.xmi b/proprietary/tests/annotation.declaration/jump.test.annotation.declaration_java.xmi
new file mode 100644
index 0000000..c74f453
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/jump.test.annotation.declaration_java.xmi
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ASCII"?>
+<java:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java" name="jump.test.annotation.declaration">
+ <ownedElements name="annotation">
+ <ownedPackages name="declaration">
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.0" name="MyAnnotation">
+ <modifier visibility="public"/>
+ </ownedElements>
+ </ownedPackages>
+ </ownedElements>
+ <orphanTypes xsi:type="java:PrimitiveTypeInt" name="int"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeLong" name="long"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeFloat" name="float"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeDouble" name="double"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeBoolean" name="boolean"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeVoid" name="void"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeChar" name="char"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeShort" name="short"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeByte" name="byte"/>
+ <compilationUnits name="MyAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\jump.test.annotation.declaration\src\annotation\declaration\MyAnnotation.java" commentList="//@compilationUnits.0/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.0" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+</java:Model>
diff --git a/proprietary/tests/annotation.declaration/src/annotation/declaration/MyAnnotation.java b/proprietary/tests/annotation.declaration/src/annotation/declaration/MyAnnotation.java
new file mode 100644
index 0000000..d1b1106
--- /dev/null
+++ b/proprietary/tests/annotation.declaration/src/annotation/declaration/MyAnnotation.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package annotation.declaration;
+
+public @interface MyAnnotation {
+
+}
diff --git a/proprietary/tests/annotationmember.declaration/.classpath b/proprietary/tests/annotationmember.declaration/.classpath
new file mode 100644
index 0000000..fb565a5
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/.classpath
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/tests/annotationmember.declaration/.gitignore b/proprietary/tests/annotationmember.declaration/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/proprietary/tests/annotationmember.declaration/.project b/proprietary/tests/annotationmember.declaration/.project
new file mode 100644
index 0000000..aa4ea42
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>annotationmember.declaration</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/tests/annotationmember.declaration/.settings/org.eclipse.jdt.core.prefs b/proprietary/tests/annotationmember.declaration/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..7341ab1
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,11 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/tests/annotationmember.declaration/annotationmember.declaration_java.xmi b/proprietary/tests/annotationmember.declaration/annotationmember.declaration_java.xmi
new file mode 100644
index 0000000..331c20c
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/annotationmember.declaration_java.xmi
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ASCII"?>
+<java:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java" name="annotationmember.declaration">
+ <ownedElements name="annotationmember">
+ <ownedPackages name="declaration">
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.0" name="MyOtherAnnotation" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@type">
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.1" name="MyAnnotation">
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myStringMember">
+ <modifier/>
+ <type type="//@ownedElements.1/@ownedPackages.0/@ownedElements.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myAnnotationMember">
+ <modifier/>
+ <type type="//@ownedElements.0/@ownedPackages.0/@ownedElements.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myClassMember">
+ <modifier/>
+ <type type="//@orphanTypes.9"/>
+ </bodyDeclarations>
+ </ownedElements>
+ </ownedPackages>
+ </ownedElements>
+ <ownedElements name="java" proxy="true">
+ <ownedPackages name="lang" proxy="true">
+ <ownedElements xsi:type="java:ClassDeclaration" name="String" proxy="true" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0/@type //@orphanTypes.9/@typeArguments.0">
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.1/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedElements.2"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Comparable" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.1">
+ <typeParameters name="T" proxy="true"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="CharSequence" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.2"/>
+ <ownedElements xsi:type="java:ClassDeclaration" name="Class" proxy="true" usagesInTypeAccess="//@orphanTypes.9/@type">
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.1/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.2"/>
+ <typeParameters name="T" proxy="true"/>
+ </ownedElements>
+ <ownedPackages name="reflect" proxy="true">
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="GenericDeclaration" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.1"/>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Type" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.2"/>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="AnnotatedElement" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.3"/>
+ </ownedPackages>
+ </ownedPackages>
+ <ownedPackages name="io" proxy="true">
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Serializable" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.0 //@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.0"/>
+ </ownedPackages>
+ </ownedElements>
+ <orphanTypes xsi:type="java:PrimitiveTypeInt" name="int"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeLong" name="long"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeFloat" name="float"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeDouble" name="double"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeBoolean" name="boolean"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeVoid" name="void"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeChar" name="char"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeShort" name="short"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeByte" name="byte"/>
+ <orphanTypes xsi:type="java:ParameterizedType" name="java.lang.Class&lt;java.lang.String>" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.2/@type">
+ <type type="//@ownedElements.1/@ownedPackages.0/@ownedElements.3"/>
+ <typeArguments type="//@ownedElements.1/@ownedPackages.0/@ownedElements.0"/>
+ </orphanTypes>
+ <compilationUnits name="MyOtherAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\annotationmember.declaration\src\annotationmember\declaration\MyOtherAnnotation.java" commentList="//@compilationUnits.0/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.0" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+ <compilationUnits name="MyAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\annotationmember.declaration\src\annotationmember\declaration\MyAnnotation.java" commentList="//@compilationUnits.1/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.1">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.1" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+</java:Model>
diff --git a/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyAnnotation.java b/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyAnnotation.java
new file mode 100644
index 0000000..b4a6a4f
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyAnnotation.java
@@ -0,0 +1,24 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package annotationmember.declaration;
+
+public @interface MyAnnotation {
+
+ String myStringMember();
+
+ MyOtherAnnotation myAnnotationMember();
+
+ Class<String> myClassMember();
+
+}
diff --git a/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyOtherAnnotation.java b/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyOtherAnnotation.java
new file mode 100644
index 0000000..6069659
--- /dev/null
+++ b/proprietary/tests/annotationmember.declaration/src/annotationmember/declaration/MyOtherAnnotation.java
@@ -0,0 +1,18 @@
+/*******************************************************************************
+ * Copyright (c) 2015 Vienna University of Technology.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation
+ *
+ * Initially developed in the context of ARTIST EU project www.artist-project.eu
+ *******************************************************************************/
+
+package annotationmember.declaration;
+
+public @interface MyOtherAnnotation {
+
+}
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.classpath b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.classpath
new file mode 100644
index 0000000..46f835e
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry exported="true" kind="con" path="GROOVY_SUPPORT"/>
+ <classpathentry exported="true" kind="con" path="GROOVY_DSL_SUPPORT"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.gitignore b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.project b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.project
new file mode 100644
index 0000000..45d4332
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.upr.platform.java.cm2up.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.groovy.core.groovyNature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.settings/org.eclipse.jdt.core.prefs b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..f42de36
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
+org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.7
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/META-INF/MANIFEST.MF b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2c1b8dd
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.upr.platform.java.cm2up.test;singleton:=true
+Bundle-Version: 0.9.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.7,
+ JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.emf.ecore;bundle-version="2.10.2",
+ org.eclipse.emf.ecore.change;bundle-version="2.10.0",
+ org.eclipse.m2m.atl.core.emf;bundle-version="3.6.0",
+ org.eclipse.gmt.modisco.java;bundle-version="0.12.2",
+ org.eclipse.m2m.atl.common;bundle-version="3.6.0",
+ org.eclipse.upr.platform.java.cm2up;bundle-version="0.9.0",
+ org.eclipse.uml2.uml;bundle-version="5.0.2",
+ org.eclipse.upr.platform.trace;bundle-version="0.9.0",
+ org.eclipse.uml2.uml.resources;bundle-version="5.0.2",
+ org.junit;bundle-version="4.11.0",
+ org.codehaus.groovy;bundle-version="2.3.7",
+ org.eclipse.upr.platform.java.configuration,
+ org.eclipse.core.resources,
+ org.eclipse.upr.platform.java.code2cm,
+ org.eclipse.jdt.core,
+ org.eclipse.modisco.java.discoverer;bundle-version="0.12.2",
+ org.eclipse.modisco.infra.discovery.core;bundle-version="0.12.2"
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/about.html b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/about.html
new file mode 100644
index 0000000..6f6b96c
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/about.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html>
+<head>
+<title>About</title>
+<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>February 24, 2005</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/build.properties b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/build.properties
new file mode 100644
index 0000000..4939696
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/build.properties
@@ -0,0 +1,17 @@
+###############################################################################
+# Copyright (c) 2015 TU Wien.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Alexander Bergmayr (TU Wien) - initial API and implementation
+#
+# Initially developed in the context of ARTIST EU project www.artist-project.eu
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/cfg/configuration.jcfg b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/cfg/configuration.jcfg
new file mode 100644
index 0000000..031e502
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/cfg/configuration.jcfg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="ASCII"?>
+<jcfg:Configuration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jcfg="http://org.eclipse.upr.platform.java.configuration/0.9">
+ <configurationParameters xsi:type="jcfg:ProfileConfigurationParameter" repeatingStereotypes="emulation"/>
+</jcfg:Configuration>
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotation.declaration.xmi b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotation.declaration.xmi
new file mode 100644
index 0000000..c74f453
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotation.declaration.xmi
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="ASCII"?>
+<java:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java" name="jump.test.annotation.declaration">
+ <ownedElements name="annotation">
+ <ownedPackages name="declaration">
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.0" name="MyAnnotation">
+ <modifier visibility="public"/>
+ </ownedElements>
+ </ownedPackages>
+ </ownedElements>
+ <orphanTypes xsi:type="java:PrimitiveTypeInt" name="int"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeLong" name="long"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeFloat" name="float"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeDouble" name="double"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeBoolean" name="boolean"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeVoid" name="void"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeChar" name="char"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeShort" name="short"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeByte" name="byte"/>
+ <compilationUnits name="MyAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\jump.test.annotation.declaration\src\annotation\declaration\MyAnnotation.java" commentList="//@compilationUnits.0/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.0" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+</java:Model>
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotationmember.declaration.xmi b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotationmember.declaration.xmi
new file mode 100644
index 0000000..331c20c
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/annotationmember.declaration.xmi
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="ASCII"?>
+<java:Model xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java" name="annotationmember.declaration">
+ <ownedElements name="annotationmember">
+ <ownedPackages name="declaration">
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.0" name="MyOtherAnnotation" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@type">
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="//@compilationUnits.1" name="MyAnnotation">
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myStringMember">
+ <modifier/>
+ <type type="//@ownedElements.1/@ownedPackages.0/@ownedElements.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myAnnotationMember">
+ <modifier/>
+ <type type="//@ownedElements.0/@ownedPackages.0/@ownedElements.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="//@compilationUnits.1" name="myClassMember">
+ <modifier/>
+ <type type="//@orphanTypes.9"/>
+ </bodyDeclarations>
+ </ownedElements>
+ </ownedPackages>
+ </ownedElements>
+ <ownedElements name="java" proxy="true">
+ <ownedPackages name="lang" proxy="true">
+ <ownedElements xsi:type="java:ClassDeclaration" name="String" proxy="true" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0/@type //@orphanTypes.9/@typeArguments.0">
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.1/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedElements.2"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Comparable" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.1">
+ <typeParameters name="T" proxy="true"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="CharSequence" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.2"/>
+ <ownedElements xsi:type="java:ClassDeclaration" name="Class" proxy="true" usagesInTypeAccess="//@orphanTypes.9/@type">
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.1/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.0"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="//@ownedElements.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.2"/>
+ <typeParameters name="T" proxy="true"/>
+ </ownedElements>
+ <ownedPackages name="reflect" proxy="true">
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="GenericDeclaration" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.1"/>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Type" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.2"/>
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="AnnotatedElement" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.3"/>
+ </ownedPackages>
+ </ownedPackages>
+ <ownedPackages name="io" proxy="true">
+ <ownedElements xsi:type="java:InterfaceDeclaration" name="Serializable" proxy="true" usagesInTypeAccess="//@ownedElements.1/@ownedPackages.0/@ownedElements.0/@superInterfaces.0 //@ownedElements.1/@ownedPackages.0/@ownedElements.3/@superInterfaces.0"/>
+ </ownedPackages>
+ </ownedElements>
+ <orphanTypes xsi:type="java:PrimitiveTypeInt" name="int"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeLong" name="long"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeFloat" name="float"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeDouble" name="double"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeBoolean" name="boolean"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeVoid" name="void"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeChar" name="char"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeShort" name="short"/>
+ <orphanTypes xsi:type="java:PrimitiveTypeByte" name="byte"/>
+ <orphanTypes xsi:type="java:ParameterizedType" name="java.lang.Class&lt;java.lang.String>" usagesInTypeAccess="//@ownedElements.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.2/@type">
+ <type type="//@ownedElements.1/@ownedPackages.0/@ownedElements.3"/>
+ <typeArguments type="//@ownedElements.1/@ownedPackages.0/@ownedElements.0"/>
+ </orphanTypes>
+ <compilationUnits name="MyOtherAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\annotationmember.declaration\src\annotationmember\declaration\MyOtherAnnotation.java" commentList="//@compilationUnits.0/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.0" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+ <compilationUnits name="MyAnnotation.java" originalFilePath="D:\04_REPO\jump\tests\annotationmember.declaration\src\annotationmember\declaration\MyAnnotation.java" commentList="//@compilationUnits.1/@comments.0" package="//@ownedElements.0/@ownedPackages.0" types="//@ownedElements.0/@ownedPackages.0/@ownedElements.1">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="//@compilationUnits.1" content="/*******************************************************************************&#xD;&#xA; * Copyright (c) 2015 Vienna University of Technology.&#xD;&#xA; * All rights reserved. This program and the accompanying materials&#xD;&#xA; * are made available under the terms of the Eclipse Public License v1.0&#xD;&#xA; * which accompanies this distribution, and is available at&#xD;&#xA; * http://www.eclipse.org/legal/epl-v10.html&#xD;&#xA; *&#xD;&#xA; * Contributors:&#xD;&#xA; * Alexander Bergmayr (Vienna University of Technology) - initial API and implementation&#xD;&#xA; *&#xD;&#xA; * Initially developed in the context of ARTIST EU project www.artist-project.eu&#xD;&#xA; *******************************************************************************/" prefixOfParent="true"/>
+ </compilationUnits>
+</java:Model>
diff --git a/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/objectify.xmi b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/objectify.xmi
new file mode 100644
index 0000000..63f1149
--- /dev/null
+++ b/proprietary/tests/org.eclipse.upr.platform.java.cm2up.test/data/codemodel/objectify.xmi
@@ -0,0 +1,62643 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://www.eclipse.org/MoDisco/Java/0.2.incubation/java">
+ <java:Model name="objectify">
+ <ownedElements name="com" usagesInPackageAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.1/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.2/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.3/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.25/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.17/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.19/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.1/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.9/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.12/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.18/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.31/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.32/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.12/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13/@bodyDeclarations.10/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.23/@body/@statements.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.23/@body/@statements.1/@thenStatement/@statements.1/@expression/@rightHandSide/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.4/@bodyDeclarations.0/@parameters.1/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.4/@bodyDeclarations.3/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.2/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.12/@body/@statements.1/@expression/@rightHandSide/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.1/@expression/@rightHandSide/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.17/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.3/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9/@body/@statements.0/@elseStatement/@expression/@rightOperand/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9/@body/@statements.0/@elseStatement/@thenStatement/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.10/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.10/@body/@statements.0/@expression/@rightOperand/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.10/@body/@statements.0/@thenStatement/@expression/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.341/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.345/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.347/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.348/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.354/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.356/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.358/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.360/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.362/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.364/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.25/@bodyDeclarations.6/@body/@statements.6/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.2/@body/@statements.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.368/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.25/@bodyDeclarations.7/@body/@statements.2/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.0/@parameter/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.390/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.391/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.392/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.393/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.415/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.416/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.417/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.418/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.420/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.422/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.424/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.425/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.426/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.427/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.44/@bodyDeclarations.11/@body/@statements.2/@parameter/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.428/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.430/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.432/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.434/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.45/@bodyDeclarations.5/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.45/@bodyDeclarations.6/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.45/@bodyDeclarations.7/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.45/@bodyDeclarations.8/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.45/@bodyDeclarations.9/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.6/@body/@statements.1/@expression/@leftOperand/@expression/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.8/@parameters.1/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.8/@body/@statements.2/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.9/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.9/@body/@statements.1/@thenStatement/@thenStatement/@statements.1/@expression/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.9/@body/@statements.1/@elseStatement/@expression/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.10/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.10/@body/@statements.2/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.11/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.11/@body/@statements.1/@expression/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.497/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.498/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.499/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.21/@bodyDeclarations.1/@body/@statements.0/@expression/@arguments.1/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.21/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.21/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.509/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.510/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.511/@typeArguments.1/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.1/@body/@statements.0/@expression/@arguments.1/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.10/@comments.0/@tags.1/@fragments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.592/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.595/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.596/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.1/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.1/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.1/@body/@statements.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.1/@body/@statements.0/@fragments.0/@initializer/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.3/@returnType/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.3/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.597/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.4/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.598/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@orphanTypes.599/@typeArguments.0/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.6/@parameters.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.7/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.8/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.9/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier/@qualifier/@qualifier">
+ <ownedPackages name="googlecode" usagesInPackageAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0/@type/@qualifier/@qualifier/@qualifier">
+ <ownedPackages name="objectify" usagesInPackageAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.0/@default/@expressions.0/@type/@qualifier/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0/@type/@qualifier/@qualifier">
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.0" name="ObjectifyFilter">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.0" content="/** &#xA; * Configure this filter to use Objectify in your application. It works in concert with {@code ObjectifyService}to provide the correct {@code Objectify} instance when {@code ObjectifyService.ofy()} is called.In your web.xml: &lt;pre> &amp;lt;filter&amp;gt; &amp;lt;filter-name&amp;gt;ObjectifyFilter&amp;lt;/filter-name&amp;gt; &amp;lt;filter-class&amp;gt;com.googlecode.objectify.ObjectifyFilter&amp;lt;/filter-class&amp;gt; &amp;lt;/filter&amp;gt; &amp;lt;filter-mapping&amp;gt; &amp;lt;filter-name&amp;gt;ObjectifyFilter&amp;lt;/filter-name&amp;gt; &amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt; &amp;lt;/filter-mapping&amp;gt; &lt;/pre> Or, if you use Guice: &lt;pre> filter(&quot;/*&quot;).through(ObjectifyFilter.class); &lt;/pre> &lt;p>If you use the Objectify outside of the context of a request (say, using the remote API or from a unit test), then you should call {@code ObjectifyFilter.complete()} after every operationthat you consider a &quot;request&quot;. For example, after each test.&lt;/p>&#xA; * @author Jeff Schnitzer&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.0">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="Configure this filter to use Objectify in your application. It works in concert with "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.0" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" ObjectifyService"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="to provide the correct "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.0" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" instance when "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.0" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" is called."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="In your web.xml:"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&lt;pre>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;filter&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;filter-name&amp;gt;ObjectifyFilter&amp;lt;/filter-name&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;filter-class&amp;gt;com.googlecode.objectify.ObjectifyFilter&amp;lt;/filter-class&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;/filter&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;filter-mapping&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;filter-name&amp;gt;ObjectifyFilter&amp;lt;/filter-name&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;url-pattern&amp;gt;/*&amp;lt;/url-pattern&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&amp;lt;/filter-mapping&amp;gt;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&lt;/pre>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="Or, if you use Guice:"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&lt;pre>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="filter(&quot;/*&quot;).through(ObjectifyFilter.class);"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&lt;/pre>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="&lt;p>If you use the Objectify outside of the context of a request (say, using the remote"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="API or from a unit test), then you should call "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.0" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" ObjectifyFilter.complete()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" after every operation"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="that you consider a &quot;request&quot;. For example, after each test.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.0" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text=" Jeff Schnitzer"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.0" name="doFilter" redefinedMethodDeclaration="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.2">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.0" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.0">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.0">
+ <statements xsi:type="java:TryStatement" originalCompilationUnit="/0/@compilationUnits.0">
+ <body originalCompilationUnit="/0/@compilationUnits.0">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.0">
+ <expression xsi:type="java:SuperMethodInvocation" originalCompilationUnit="/0/@compilationUnits.0" method="/0/@unresolvedItems.8">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.9"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.10"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.11"/>
+ </expression>
+ </statements>
+ </body>
+ <finally originalCompilationUnit="/0/@compilationUnits.0">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.0" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.8">
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4"/>
+ </expression>
+ </statements>
+ </finally>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.0" name="request">
+ <modifier/>
+ <type type="/0/@unresolvedItems.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.0" name="response">
+ <modifier/>
+ <type type="/0/@unresolvedItems.5"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.0" name="chain">
+ <modifier/>
+ <type type="/0/@unresolvedItems.6"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.0/@ownedElements.0"/>
+ <thrownExceptions type="/0/@unresolvedItems.7"/>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.0" name="complete" redefinedMethodDeclaration="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.3">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.0" content="/** &#xA; * Perform the actions that are performed upon normal completion of a request.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.0">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.0" text="Perform the actions that are performed upon normal completion of a request."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.0">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.0" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.3">
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.9"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.0" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.8">
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <superClass type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.9"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.1" name="TranslateException" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@superClass /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@superClass">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.1" content="/** &#xA; * Thrown when something went wrong during the entity translation process; for example, the data in the datastore might be in a format incompatible with the intended pojo field.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.1">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.1" text="Thrown when something went wrong during the entity translation process; for example, the data in the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.1" text="datastore might be in a format incompatible with the intended pojo field."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.1">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.1" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.1" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.1" name="TranslateException" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@bodyDeclarations.2/@body/@statements.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.0">
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.1">
+ <statements xsi:type="java:SuperConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.1" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@parameters.1"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.1" name="message" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.1" name="cause" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.1"/>
+ </parameters>
+ </bodyDeclarations>
+ <superClass type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.3"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" originalCompilationUnit="/0/@compilationUnits.2" name="Result" usagesInImports="/0/@compilationUnits.54/@imports.1 /0/@compilationUnits.55/@imports.3 /0/@compilationUnits.61/@imports.0 /0/@compilationUnits.83/@imports.4 /0/@compilationUnits.86/@imports.3 /0/@compilationUnits.88/@imports.1 /0/@compilationUnits.93/@imports.15 /0/@compilationUnits.94/@imports.5 /0/@compilationUnits.99/@imports.11 /0/@compilationUnits.103/@imports.12 /0/@compilationUnits.108/@imports.5 /0/@compilationUnits.113/@imports.4 /0/@compilationUnits.114/@imports.4 /0/@compilationUnits.116/@imports.6 /0/@compilationUnits.118/@imports.8 /0/@compilationUnits.122/@imports.8 /0/@compilationUnits.185/@imports.1 /0/@compilationUnits.188/@imports.5 /0/@compilationUnits.194/@imports.0 /0/@compilationUnits.201/@imports.2 /0/@compilationUnits.203/@imports.1" usagesInTypeAccess="/0/@orphanTypes.19/@type /0/@orphanTypes.210/@type /0/@orphanTypes.213/@type /0/@orphanTypes.214/@type /0/@orphanTypes.268/@type /0/@orphanTypes.306/@type /0/@orphanTypes.340/@type /0/@orphanTypes.379/@type /0/@orphanTypes.399/@type /0/@orphanTypes.571/@type /0/@orphanTypes.576/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.2" content="/** &#xA; * &lt;p> This interface provides a return value for asynchronous Objectify calls, nearly the same as {@code java.util.concurrent.Future}. Unfortunately the methods of {@code Future} throw checked exceptions, rendering the class prohibitivelypainful to use in business logic. This interface fixes that problem, and implementors automatically unwrap ExecutionExceptions (checked exceptions will be wrapped in a new RuntimeException). &lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.2">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="&lt;p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="This interface provides a return value for asynchronous Objectify calls,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="nearly the same as "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.2" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=" java.util.concurrent.Future"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=". Unfortunately the methods"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="of "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.2" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=" Future"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=" throw checked exceptions, rendering the class prohibitively"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="painful to use in business logic. This interface fixes that problem, and implementors"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="automatically unwrap ExecutionExceptions (checked exceptions will be wrapped in a"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="new RuntimeException)."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.2" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.2" name="now" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.3/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.5/@bodyDeclarations.5/@body/@statements.0/@body/@statements.2/@body/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.23/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.3/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.44/@bodyDeclarations.8/@body/@statements.2/@thenStatement/@statements.2/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@expression/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.5/@bodyDeclarations.3/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.5/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.11/@bodyDeclarations.3/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.20/@bodyDeclarations.2/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.2" content="/** &#xA; * Waits if necessary for the computation to complete, and then retrieves its result. If the computation produced an exception, it will be thrown here.&#xA; * @return the computed result&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.2">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="Waits if necessary for the computation to complete, and then retrieves"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text="its result. If the computation produced an exception, it will be thrown here."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.2" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.2" text=" the computed result"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@typeParameters.0"/>
+ </bodyDeclarations>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.2" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@bodyDeclarations.0/@returnType"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:EnumDeclaration" originalCompilationUnit="/0/@compilationUnits.3" name="TxnType" usagesInImports="/0/@compilationUnits.78/@imports.11 /0/@compilationUnits.100/@imports.1 /0/@compilationUnits.108/@imports.6 /0/@compilationUnits.111/@imports.5" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.18/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.6/@comments.0/@tags.0/@fragments.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.6/@parameters.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@parameters.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@parameters.1/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Just like the EJB options. See http://docs.oracle.com/javaee/6/api/javax/ejb/TransactionAttributeType.html&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Just like the EJB options. See http://docs.oracle.com/javaee/6/api/javax/ejb/TransactionAttributeType.html"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.3" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="MANDATORY" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Require that there must already be a transaction running. If no transaction, throw an IllegalStateException. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Require that there must already be a transaction running. If no transaction, throw an IllegalStateException. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="NEVER" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.6/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.3/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Require that there must NOT be a transaction running. If there is, throw an IllegalStateException. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Require that there must NOT be a transaction running. If there is, throw an IllegalStateException. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="NOT_SUPPORTED" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.4/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.2/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Execute the work without a transaction, pausing an existing transaction if there is one. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Execute the work without a transaction, pausing an existing transaction if there is one. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="REQUIRED" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.6/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Use the existing transaction (if present), or start a new transaction if not. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Use the existing transaction (if present), or start a new transaction if not. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="REQUIRES_NEW" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.8/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.7/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Start a new transaction, pausing the old one. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Start a new transaction, pausing the old one. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ <enumConstants originalCompilationUnit="/0/@compilationUnits.3" name="SUPPORTS" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.2/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.4/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.3" content="/** &#xA; * Inherits previous transaction state. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.3">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.3" text="Inherits previous transaction state. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ </enumConstants>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="ObjectifyService" usagesInImports="/0/@compilationUnits.108/@imports.4 /0/@compilationUnits.111/@imports.4 /0/@compilationUnits.127/@imports.3 /0/@compilationUnits.191/@imports.8" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.5/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.5/@finally/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.1/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.1/@finally/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.3/@body/@statements.0/@arguments.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.7/@body/@statements.0/@thenStatement/@expression/@rightHandSide/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.8/@bodyDeclarations.1/@body/@statements.0/@expression/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@finally/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.1/@body/@statements.1/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * Holder of the master ObjectifyFactory and provider of the current thread-local Objectify instance. Call {@code ofy()} at any point to get the current Objectify with the correct transaction context.&#xA; * @author Jeff Schnitzer&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Holder of the master ObjectifyFactory and provider of the current thread-local Objectify instance."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Call "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.4" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" at any point to get the current Objectify with the correct transaction context."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.4" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" Jeff Schnitzer"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.4">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="private" static="true"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.4" name="factory" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.1/@body/@statements.0/@expression/@leftHandSide /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.1/@thenStatement/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.4/@body/@statements.0/@expression">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6">
+ <arguments xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.4"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="setFactory">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.4">
+ <leftHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@fragments.0"/>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.1/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.4" name="fact" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.1/@body/@statements.0/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.4">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * Thread local stack of Objectify instances corresponding to transaction depth&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Thread local stack of Objectify instances corresponding to transaction depth"/>
+ </tags>
+ </comments>
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.10"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.4" name="STACK" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.6/@body/@statements.0/@expression/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.7/@body/@statements.0/@expression/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.8/@body/@statements.0/@expression/@expression/@expression">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1">
+ <anonymousClassDeclaration originalCompilationUnit="/0/@compilationUnits.4">
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="initialValue">
+ <annotations originalCompilationUnit="/0/@compilationUnits.4">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.0/@bodyDeclarations.0">
+ <type type="/0/@orphanTypes.11"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.9"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" name="" proxy="true" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0/@initializer"/>
+ </anonymousClassDeclaration>
+ <type type="/0/@orphanTypes.10"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="ofy" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.3/@body/@statements.0/@arguments.1 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.7/@body/@statements.0/@thenStatement/@expression/@rightHandSide">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * The method to call at any time to get the current Objectify, which may change depending on txn context&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="The method to call at any time to get the current Objectify, which may change depending on txn context"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <type type="/0/@orphanTypes.9"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.4" name="stack" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.1/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.1/@thenStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.2/@expression/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.2/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.3/@bodyDeclarations.0">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@fragments.0"/>
+ </arguments>
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.0/@fragments.0"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.3/@bodyDeclarations.1">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.0/@fragments.0"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="factory" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.8/@bodyDeclarations.1/@body/@statements.0/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * @return the current factory&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" the current factory"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@fragments.0"/>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="register">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * A shortcut for {@code ObjectifyFactory.register()}&#xA; * @see ObjectifyFactory#register(Class) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="A shortcut for "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.4" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" ObjectifyFactory.register()"/>
+ </fragments>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.4" tagName="@see">
+ <fragments xsi:type="java:MethodRef" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.15">
+ <qualifier type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.4">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11"/>
+ </parameters>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text=" "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.15">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@parameters.0"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.4"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.4" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.13"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="push" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.5/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.1/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * Pushes new context onto stack when a transaction starts &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Pushes new context onto stack when a transaction starts "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.3/@bodyDeclarations.0">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.6/@parameters.0"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.4" name="ofy" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.6/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="pop" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.5/@finally/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.1/@finally/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * Pops context off of stack after a transaction completes &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Pops context off of stack after a transaction completes "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.3/@bodyDeclarations.2">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.4" name="reset" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0/@body/@statements.0/@finally/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.1/@body/@statements.1/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.4" content="/** &#xA; * Clear the stack of any leftover Objectify instances &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.4">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.4" text="Clear the stack of any leftover Objectify instances "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.4">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.2/@bodyDeclarations.1">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.4" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.9/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.2/@fragments.0"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.5" name="LoadException" usagesInImports="/0/@compilationUnits.81/@imports.4" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.7/@thrownExceptions.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.7/@body/@statements.0/@catchClauses.0/@exception/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.7/@body/@statements.0/@catchClauses.1/@body/@statements.0/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.8/@thrownExceptions.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.5" content="/** &#xA; * Thrown when something went wrong during the load translation process; for example, the data in the datastore might be in a format incompatible with the intended pojo field. Indicates what went wrong with which entity.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.5">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.5" text="Thrown when something went wrong during the load translation process; for example, the data in the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.5" text="datastore might be in a format incompatible with the intended pojo field. Indicates what went"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.5" text="wrong with which entity."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.5">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.5" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.5" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.5">
+ <modifier visibility="private" inheritance="final"/>
+ <type type="/0/@unresolvedItems.13"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.5" name="entity"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.5" name="LoadException">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.5" content="/** &#xA; * Constructor to use when you're saving an entity with a known key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.5">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.5" text="Constructor to use when you're saving an entity with a known key "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.5">
+ <statements xsi:type="java:SuperConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.5" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1">
+ <arguments xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.5" operator="+">
+ <rightOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.5" method="/0/@unresolvedItems.15">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.14"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.5" escapedValue="&quot;Error loading &quot;"/>
+ <extendedOperands xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.5" escapedValue="&quot;: &quot;"/>
+ <extendedOperands xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@bodyDeclarations.2/@parameters.1"/>
+ </arguments>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@bodyDeclarations.2/@parameters.2"/>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.5">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.5">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.5">
+ <field variable="/0/@unresolvedItems.16"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.5"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.5" name="entity">
+ <modifier/>
+ <type type="/0/@unresolvedItems.13"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.5" name="message" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@bodyDeclarations.2/@body/@statements.0/@arguments.0/@extendedOperands.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.5" name="cause" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.5/@bodyDeclarations.2/@body/@statements.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.1"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.5" name="getEntity">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.5" content="/** &#xA; * The complete version of what we couldn't translate &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.5">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.5" text="The complete version of what we couldn't translate "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.5">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.5">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.5">
+ <field variable="/0/@unresolvedItems.16"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.5"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@unresolvedItems.13"/>
+ </bodyDeclarations>
+ <superClass type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="Ref" usagesInImports="/0/@compilationUnits.53/@imports.6 /0/@compilationUnits.93/@imports.14 /0/@compilationUnits.98/@imports.3 /0/@compilationUnits.99/@imports.10 /0/@compilationUnits.126/@imports.1 /0/@compilationUnits.127/@imports.4 /0/@compilationUnits.128/@imports.9 /0/@compilationUnits.143/@imports.5 /0/@compilationUnits.152/@imports.2 /0/@compilationUnits.158/@imports.7 /0/@compilationUnits.202/@imports.6 /0/@compilationUnits.214/@imports.5 /0/@compilationUnits.217/@imports.5 /0/@compilationUnits.218/@imports.4 /0/@compilationUnits.221/@imports.7" usagesInTypeAccess="/0/@orphanTypes.199/@type /0/@orphanTypes.204/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9/@body/@statements.0/@elseStatement/@elseStatement/@expression/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@expression/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.6/@body/@statements.1/@expression/@extendedOperands.0/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.0/@body/@statements.0/@arguments.0/@expression/@type /0/@orphanTypes.622/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@parameters.0/@type /0/@orphanTypes.625/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.4/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.5/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.6/@expression/@arguments.0/@type /0/@orphanTypes.628/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.1/@body/@statements.0/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@body/@statements.2/@expression/@expression /0/@orphanTypes.14/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@leftOperand/@rightOperand/@rightOperand /0/@orphanTypes.18/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * &lt;p>Ref&lt;?> is a Key&lt;?> which allows the entity value to be fetched directly.&lt;/p> &lt;p>Note that the methods might or might not throw runtime exceptions related to datastore operations; ConcurrentModificationException, DatastoreTimeoutException, DatastoreFailureException, and DatastoreNeedIndexException. Some Refs hide datastore operations that could throw these exceptions.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="&lt;p>Ref&lt;?> is a Key&lt;?> which allows the entity value to be fetched directly.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="&lt;p>Note that the methods might or might not throw runtime exceptions related to datastore operations;"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="ConcurrentModificationException, DatastoreTimeoutException, DatastoreFailureException, and DatastoreNeedIndexException."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Some Refs hide datastore operations that could throw these exceptions.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="abstract"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.6">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.6" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.6" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="create" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@body/@statements.2/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Key.create(Blah.class, id) is easier to type than new Key&lt;Blah>(Blah.class, id) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Key.create(Blah.class, id) is easier to type than new Key&lt;Blah>(Blah.class, id) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.6"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.1/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.6" escapedValue="&quot;Cannot create a Ref from a null key&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.3">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.1/@parameters.0"/>
+ <type type="/0/@orphanTypes.17"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.1/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.1/@body/@statements.1/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.6" name="T" usagesInTypeAccess="/0/@orphanTypes.16/@typeArguments.0 /0/@orphanTypes.17/@typeArguments.0"/>
+ <returnType type="/0/@orphanTypes.14"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="create">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Creates a Ref from a registered pojo entity &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Creates a Ref from a registered pojo entity "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@orphanTypes.16"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.6" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.1/@expression/@arguments.0">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.8">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.1">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.0/@fragments.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="value" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.0/@fragments.0/@initializer/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.6" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.7/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.9/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.12/@returnType"/>
+ <returnType type="/0/@orphanTypes.14"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.6">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * The key associated with this ref &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="The key associated with this ref "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@orphanTypes.16"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.6" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.5/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6/@body/@statements.0/@expression"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="Ref">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * For GWT serialization &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="For GWT serialization "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="Ref" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.4/@body/@statements.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.4/@body/@statements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Create a Ref based on the key, with the specified session&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Create a Ref based on the key, with the specified session"/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.6"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.5/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.6" escapedValue="&quot;Cannot create a Ref for a null key&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.6">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.6">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.3/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.6"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.5/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.5/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.5/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.10/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.1/@thenStatement/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.13/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.13/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@rightOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@rightOperand/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.16/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.17/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.18/@body/@statements.0/@expression/@extendedOperands.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@body/@statements.0/@expression/@elseExpression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.6/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9/@body/@statements.0/@elseStatement/@elseStatement/@thenStatement/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@thenStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.6/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.8/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.1/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.30/@bodyDeclarations.7/@body/@statements.0/@expression/@arguments.1/@arguments.1 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.1/@elseStatement/@statements.0/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.0/@body/@statements.0/@expression/@arguments.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * @return the key associated with this Ref&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" the key associated with this Ref"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.3/@fragments.0"/>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="get" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.9/@body/@statements.0/@expression/@thenExpression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.0/@fragments.0/@initializer">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Obtain the entity value associated with the key. Will pull from session if present, otherwise will fetch from the datastore.&#xA; * @return the entity referenced, or null if the entity was not found&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Obtain the entity value associated with the key. Will pull from session if present, otherwise will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="fetch from the datastore."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" the entity referenced, or null if the entity was not found"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="abstract"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="isLoaded" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.9/@body/@statements.0/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * If an entity has been loaded into the session or is otherwise available, this will return true. Calls to get() will not require a trip to backing store. Note that even when loaded, get() can still return null if there is no entity which corresponds to the key.&#xA; * @return true if the value is in the session or otherwise immediately available; false if get() willrequire a trip to the datastore or memcache.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="If an entity has been loaded into the session or is otherwise available, this will return true."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Calls to get() will not require a trip to backing store."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Note that even when loaded, get() can still return null if there is no entity which corresponds to the key."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" true if the value is in the session or otherwise immediately available; false if get() will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="require a trip to the datastore or memcache."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="abstract"/>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="getValue" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.8/@body/@statements.0/@expression/@arguments.1 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.1/@thenStatement/@statements.0/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * This method exists to facilitate serialization via javabeans conventions. Unlike get(), it will return null if isLoaded() is false.&#xA; * @return the entity referenced, or null if either the entity was not found or isLoaded() is false.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="This method exists to facilitate serialization via javabeans conventions. Unlike get(),"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="it will return null if isLoaded() is false."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" the entity referenced, or null if either the entity was not found or isLoaded() is false."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:ConditionalExpression" originalCompilationUnit="/0/@compilationUnits.6">
+ <elseExpression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.6"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.8"/>
+ <thenExpression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.7"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="getKey" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.0/@body/@statements.1/@body/@expression/@arguments.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Same as key() but conforms to JavaBeans conventions in case this is being processed by a JSON converter or expression language.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Same as key() but conforms to JavaBeans conventions in case this is being processed by a JSON"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="converter or expression language."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="safe" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.12/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Obtain the entity value, throwing an exception if the entity was not found.&#xA; * @return the entity referenced. Never returns null.&#xA; * @throws NotFoundException if the specified entity was not found&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Obtain the entity value, throwing an exception if the entity was not found."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" the entity referenced. Never returns null."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.6" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text=" if the specified entity was not found"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.6" name="t" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.1/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.1/@elseStatement/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.7">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.6"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.6"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.0/@fragments.0"/>
+ </elseStatement>
+ </statements>
+ </body>
+ <thrownExceptions type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="safeGet">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Use safe() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Use safe() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11"/>
+ </statements>
+ </body>
+ <thrownExceptions type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="compareTo">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Comparison is based on key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Comparison is based on key "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.24">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.13/@parameters.0"/>
+ </arguments>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.6"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="o" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.13/@body/@statements.0/@expression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.14"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="equals" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.15/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Equality comparison is based on key equivalence &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Equality comparison is based on key equivalence "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6">
+ <expression xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@parameters.0"/>
+ <type type="/0/@orphanTypes.18"/>
+ </expression>
+ </expression>
+ </arguments>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:InstanceofExpression" originalCompilationUnit="/0/@compilationUnits.6">
+ <rightOperand type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@parameters.0"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.6"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@parameters.0"/>
+ </leftOperand>
+ </leftOperand>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="obj" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@leftOperand/@leftOperand/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@leftOperand/@rightOperand/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@rightOperand/@arguments.0/@expression/@expression/@expression">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="equivalent">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Type-safe comparison for key equivalence &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Type-safe comparison for key equivalence "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.15/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="other" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.15/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.14"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="equivalent">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Type safe comparison for key equivalence &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Type safe comparison for key equivalence "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.26">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.16/@parameters.0"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.6" name="other" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.16/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="hashCode">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Hash code is simply that of key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Hash code is simply that of key "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.28">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.6" name="toString">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.6" content="/** &#xA; * Renders some info about the key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.6">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.6" text="Renders some info about the key "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.6">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.6">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.6">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.6" operator="+">
+ <rightOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.6" escapedValue="&quot;(&quot;"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.0">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.6"/>
+ </expression>
+ </leftOperand>
+ <extendedOperands xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.6" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6"/>
+ <extendedOperands xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.6" escapedValue="&quot;)&quot;"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@ownedElements.1/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="/0/@orphanTypes.15"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.6" name="T" usagesInTypeAccess="/0/@orphanTypes.14/@typeArguments.0"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="LoadResult" usagesInImports="/0/@compilationUnits.53/@imports.4 /0/@compilationUnits.58/@imports.1 /0/@compilationUnits.59/@imports.2 /0/@compilationUnits.87/@imports.4 /0/@compilationUnits.93/@imports.12 /0/@compilationUnits.95/@imports.14 /0/@compilationUnits.115/@imports.3 /0/@compilationUnits.116/@imports.5 /0/@compilationUnits.210/@imports.4" usagesInTypeAccess="/0/@orphanTypes.198/@type /0/@orphanTypes.217/@type /0/@orphanTypes.398/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.7" content="/** &#xA; * &lt;p>Enhances the basic Result&lt;?> with some additional methods useful when loading data.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.7">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text="&lt;p>Enhances the basic Result&lt;?> with some additional methods useful when loading data.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.7" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.7">
+ <modifier visibility="private" inheritance="final"/>
+ <type type="/0/@orphanTypes.16"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.7" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@body/@statements.0/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.1/@thenStatement/@expression/@arguments.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.7">
+ <modifier visibility="private" inheritance="final"/>
+ <type type="/0/@orphanTypes.19"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.7" name="result" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.3/@body/@statements.0/@expression/@expression"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="LoadResult" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.9/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.32/@body/@statements.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.38/@bodyDeclarations.2/@body/@statements.2/@expression">
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.7">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.7">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.7">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.7"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@parameters.0"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.7">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.7">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.7"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@parameters.1"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.7" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@body/@statements.0/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.7" name="result" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.2/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.19"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="now" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.5/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.7" content="/** &#xA; * Obtain the loaded value now.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.7">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text="Obtain the loaded value now."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.7">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.7">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.7" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.2/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.1/@fragments.0"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="safe" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.6/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.7" content="/** &#xA; * Like now(), but throws NotFoundException instead of returning null.&#xA; * @throws NotFoundException if the loaded value was not found&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.7">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text="Like now(), but throws NotFoundException instead of returning null."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.7" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text=" if the loaded value was not found"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.7">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@typeParameters.0"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.7" name="t" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.1/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.1/@elseStatement/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.7" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.3"/>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.7" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.7"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.7" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.0/@fragments.0"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.0/@fragments.0"/>
+ </elseStatement>
+ </statements>
+ </body>
+ <thrownExceptions type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="get">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.7" content="/** &#xA; * Use now() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.7">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text="Use now() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.7">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.7">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.7" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.3"/>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.7" name="safeGet">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.7" content="/** &#xA; * Use safe() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.7">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.7" text="Use safe() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.7">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.7">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.7">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.7" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4"/>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@typeParameters.0"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@orphanTypes.19"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.7" name="T" usagesInTypeAccess="/0/@orphanTypes.19/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.3/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.5/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.6/@returnType"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" originalCompilationUnit="/0/@compilationUnits.8" name="Work" usagesInImports="/0/@compilationUnits.78/@imports.12 /0/@compilationUnits.100/@imports.2 /0/@compilationUnits.108/@imports.7 /0/@compilationUnits.111/@imports.6" usagesInTypeAccess="/0/@orphanTypes.20/@type /0/@orphanTypes.21/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.6/@comments.0/@tags.0/@fragments.0/@parameters.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.7/@comments.0/@tags.0/@fragments.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.8/@comments.0/@tags.0/@fragments.0/@parameters.1/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.8" content="/** &#xA; * For executing transactions, this is a unit of work.&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.8">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.8" text="For executing transactions, this is a unit of work."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.8" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.8" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.8" name="run" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.3/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.5/@body/@statements.0/@statements.5/@body/@statements.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@bodyDeclarations.6/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.5/@body/@statements.0/@statements.5/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.1/@body/@statements.1/@fragments.0/@initializer">
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.8/@typeParameters.0"/>
+ </bodyDeclarations>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.8" name="R" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.8/@bodyDeclarations.0/@returnType"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.9" name="VoidWork">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.9" content="/** &#xA; * Using Work&lt;Void> is annoying because you must return a value from the run() method. Using VoidWork eliminates that annoyance. Unfortunately we can't override the return value of a method so we must rename run() to vrun().&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.9">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.9" text="Using Work&lt;Void> is annoying because you must return a value from the run() method. Using"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.9" text="VoidWork eliminates that annoyance. Unfortunately we can't override the return value of"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.9" text="a method so we must rename run() to vrun()."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.9" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.9" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="abstract"/>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.9" name="run">
+ <modifier visibility="public" inheritance="final"/>
+ <body originalCompilationUnit="/0/@compilationUnits.9">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.9">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.9" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.9/@bodyDeclarations.1"/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.9">
+ <expression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.9"/>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.14"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.9" name="vrun" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.9/@bodyDeclarations.0/@body/@statements.0/@expression">
+ <modifier visibility="public" inheritance="abstract"/>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@orphanTypes.20"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:InterfaceDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="Objectify" usagesInImports="/0/@compilationUnits.53/@imports.5 /0/@compilationUnits.78/@imports.9 /0/@compilationUnits.93/@imports.13 /0/@compilationUnits.100/@imports.0 /0/@compilationUnits.108/@imports.3 /0/@compilationUnits.110/@imports.5 /0/@compilationUnits.111/@imports.3 /0/@compilationUnits.127/@imports.2 /0/@compilationUnits.158/@imports.6 /0/@compilationUnits.4/@imports.2" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.14/@returnType /0/@orphanTypes.36/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.2/@ownedElements.2/@bodyDeclarations.14/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@typeParameters.0/@bounds.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@superInterfaces.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.18/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@typeParameters.0/@bounds.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.6/@comments.0/@tags.0/@fragments.0/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.7/@comments.0/@tags.0/@fragments.0/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.8/@comments.0/@tags.0/@fragments.0/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.30/@typeParameters.0/@bounds.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.8/@body/@statements.2/@body/@statements.0/@thenStatement/@statements.2/@body/@expression/@leftOperand/@leftOperand/@rightOperand/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.11/@parameters.2/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.11/@body/@statements.0/@body/@statements.0/@thenStatement/@body/@elseStatement/@statements.1/@body/@statements.1/@expression/@rightOperand/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@typeParameters.0/@bounds.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.8/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.33/@bodyDeclarations.9/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.4/@parameters.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.7/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.30/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.30/@bodyDeclarations.4/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.30/@bodyDeclarations.5/@returnType /0/@orphanTypes.9/@typeArguments.0 /0/@orphanTypes.11/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.6/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.5/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.6/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.7/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.9/@returnType">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>This is the main &quot;business end&quot; of Objectify. It lets you load, save, and delete your typed POJO entities.&lt;/p> &lt;p> {@code Objectify} instances are obtained by calling the static method {@code ObjectifyService.ofy()}. This method will always provide the correct {@code Objectify} instance for a given transactional context. You can runtransactions by calling {@code Objectify.transact()} or {@code Objectify.transactNew()}; calling {@code ObjectifyService.ofy()}within {@code Work.run()} will produce the correct {@code Objectify} instance associated with the correct transaction.&lt;/p>&lt;p>Objectify instances are immutable but they are NOT thread-safe. The instance contains a session cache of entities that have been loaded from the instance. You should never access an Objectify from more than one thread simultaneously.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>This is the main &quot;business end&quot; of Objectify. It lets you load, save, and delete your typed POJO entities.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instances are obtained by calling the static method "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=". This method"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="will always provide the correct "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance for a given transactional context. You can run"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="transactions by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify.transact()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" or "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify.transactNew()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="; calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="within "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Work.run()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" will produce the correct "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance associated with the correct transaction.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Objectify instances are immutable but they are NOT thread-safe. The instance contains"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="a session cache of entities that have been loaded from the instance. You should never access an Objectify"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="from more than one thread simultaneously.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="load" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.5/@body/@statements.0/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Start a load command chain. This is where you begin for any request that fetches data from the datastore: gets and queries. Note that all command objects are immutable.&lt;/p> &lt;p>A quick example: {@code Map&lt;Key&lt;Thing>, Thing> things = ofy.load().type(Thing.class).parent(par).ids(123L, 456L);}&lt;/p>&#xA; * @return the next step in the immutable command chain.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Start a load command chain. This is where you begin for any request that fetches data from"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="the datastore: gets and queries. Note that all command objects are immutable.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>A quick example:"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Map&lt;Key&lt;Thing>, Thing> things = ofy.load().type(Thing.class).parent(par).ids(123L, 456L);"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the next step in the immutable command chain."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.2/@ownedElements.2"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="save">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Start a save command chain. Allows you to save (or re-save) entity objects. Note that all command chain objects are immutable.&lt;/p> &lt;p>Saves do NOT cascade; if you wish to save an object graph, you must save each individual entity.&lt;/p> &lt;p>A quick example: {@code ofy.save().entities(e1, e2, e3).now();}&lt;/p>&#xA; * @return the next step in the immutable command chain.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Start a save command chain. Allows you to save (or re-save) entity objects. Note that all command"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="chain objects are immutable.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Saves do NOT cascade; if you wish to save an object graph, you must save each individual entity.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>A quick example:"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ofy.save().entities(e1, e2, e3).now();"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the next step in the immutable command chain."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.2/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="delete">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Start a delete command chain. Lets you delete entities or keys. Note that all command chain objects are immutable.&lt;/p> &lt;p>Deletes do NOT cascade; if you wish to delete an object graph, you must delete each individual entity.&lt;/p> &lt;p>A quick example: {@code ofy.delete().entities(e1, e2, e3).now();}&lt;/p>&#xA; * @return the next step in the immutable command chain.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Start a delete command chain. Lets you delete entities or keys. Note that all command chain"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="objects are immutable.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Deletes do NOT cascade; if you wish to delete an object graph, you must delete each individual entity.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>A quick example:"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ofy.delete().entities(e1, e2, e3).now();"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the next step in the immutable command chain."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.2/@ownedElements.3"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="factory" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.41/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * Obtain the ObjectifyFactory from which this Objectify instance was created.&#xA; * @return the ObjectifyFactory associated with this Objectify instance.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="Obtain the ObjectifyFactory from which this Objectify instance was created."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the ObjectifyFactory associated with this Objectify instance."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="getFactory">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * Use factory() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="Use factory() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.10">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="consistency">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Provides a new Objectify instance with the specified Consistency. Generally speaking, STRONG consistency provides more consistent results more slowly; EVENTUAL consistency produces results quickly but they might be out of date. See the &lt;a href=&quot;http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/ReadPolicy.Consistency.html&quot;>Appengine Docs&lt;/a> for more explanation.&lt;/p> &lt;p>The new instance will inherit all other characteristics (transaction, cache policy, session cache contents, etc) from this instance.&lt;/p>&#xA; * @param policy the consistency policy to use. STRONG load()s are more consistent but EVENTUAL load()sare faster.&#xA; * @return a new Objectify instance with the consistency policy replaced&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Provides a new Objectify instance with the specified Consistency. Generally speaking, STRONG consistency"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="provides more consistent results more slowly; EVENTUAL consistency produces results quickly but they"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="might be out of date. See the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;a href=&quot;http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/ReadPolicy.Consistency.html&quot;>Appengine Docs&lt;/a>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="for more explanation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>The new instance will inherit all other characteristics (transaction, cache policy, session cache contents, etc)"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="from this instance.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.19"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the consistency policy to use. STRONG load()s are more consistent but EVENTUAL load()s"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="are faster."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" a new Objectify instance with the consistency policy replaced"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="policy">
+ <modifier/>
+ <type type="/0/@unresolvedItems.20"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="deadline">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Provides a new Objectify instance with a limit, in seconds, for datastore calls. If datastore calls take longer than this amount, a timeout exception will be thrown.&lt;/p> &lt;p>The new instance will inherit all other characteristics (transaction, cache policy, session cache contents, etc) from this instance.&lt;/p>&#xA; * @param value - limit in seconds, or null to indicate no deadline (other than the standard whole request deadline of 30s/10m).&#xA; * @return a new Objectify instance with the specified deadline&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Provides a new Objectify instance with a limit, in seconds, for datastore calls. If datastore calls take longer"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="than this amount, a timeout exception will be thrown.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>The new instance will inherit all other characteristics (transaction, cache policy, session cache contents, etc)"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="from this instance.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.6/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" - limit in seconds, or null to indicate no deadline (other than the standard whole request deadline of 30s/10m)."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" a new Objectify instance with the specified deadline"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="value" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.6/@comments.0/@tags.1/@fragments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.15"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="cache">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Provides a new Objectify instance which uses (or doesn't use) a 2nd-level memcache. If true, Objectify will obey the @Cache annotation on entity classes, saving entity data to the GAE memcache service. Fetches from the datastore for @Cache entities will look in the memcache service first. This cache is shared across all versions of your application across the entire GAE cluster.&lt;/p> &lt;p>Objectify instances are cache(true) by default.&lt;/p>&#xA; * @return a new Objectify instance which will (or won't) use the global cache&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Provides a new Objectify instance which uses (or doesn't use) a 2nd-level memcache."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="If true, Objectify will obey the @Cache annotation on entity classes,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="saving entity data to the GAE memcache service. Fetches from the datastore"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="for @Cache entities will look in the memcache service first. This cache"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="is shared across all versions of your application across the entire GAE"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="cluster.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Objectify instances are cache(true) by default.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" a new Objectify instance which will (or won't) use the global cache"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="value">
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="getTransaction">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Get the underlying transaction object associated with this Objectify instance. You typically do not need to use this; use transact() instead.&lt;/p> &lt;p>Note that this is *not* the same as {@code DatastoreService.getCurrentTransaction()}, which uses the Low-Level API's implicit transaction management. Every transactional {@code Objectify}instance is associated with a specific {@code Transaction} object.&lt;/p>&#xA; * @return the low-level transaction associated with this Objectify instance,or null if no transaction is associated with this instance.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Get the underlying transaction object associated with this Objectify instance. You typically"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="do not need to use this; use transact() instead.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Note that this is *not* the same as "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" DatastoreService.getCurrentTransaction()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=","/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="which uses the Low-Level API's implicit transaction management. Every transactional "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="instance is associated with a specific "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Transaction"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" object.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the low-level transaction associated with this Objectify instance,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="or null if no transaction is associated with this instance."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <returnType type="/0/@unresolvedItems.21"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="transactionless">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>If you are in a transaction, this provides you an objectify instance which is outside of the current transaction and works with the session prior to the transaction start. Inherits any settings (consistency, deadline, etc) from the present Objectify instance.&lt;/p> &lt;p>If you are not in a transaction, this simply returns &quot;this&quot;.&lt;/p> &lt;p>This allows code to quickly &quot;escape&quot; a transactional context for the purpose of loading manipulating data without creating or affecting XG transactions.&lt;/p>&#xA; * @return an Objectify instance outside of a transaction, with the session as it was before txn start.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>If you are in a transaction, this provides you an objectify instance which is outside of the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="current transaction and works with the session prior to the transaction start. Inherits any"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="settings (consistency, deadline, etc) from the present Objectify instance.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>If you are not in a transaction, this simply returns &quot;this&quot;.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>This allows code to quickly &quot;escape&quot; a transactional context for the purpose of loading"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="manipulating data without creating or affecting XG transactions.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" an Objectify instance outside of a transaction, with the session as it was before txn start."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="transact" usagesInDocComments="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.7/@comments.0/@tags.0/@fragments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Executes work in a transaction. If there is already a transaction context, that context will be inherited. If there is not already a transaction context, a new transaction will be started.&lt;/p> &lt;p>Within {@code Work.run()}, obtain the correct transactional {@code Objectify} instance by calling{@code ObjectifyService.ofy()}&lt;/p> &lt;p>ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p>&#xA; * @param work defines the work to be done in a transaction. If this method started a new transaction, itwill be committed when work is complete. If transactional context was inherited, no commit is issued until the full transaction completes normally.&#xA; * @return the result of the work&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Executes work in a transaction. If there is already a transaction context, that context will be inherited."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="If there is not already a transaction context, a new transaction will be started.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Within "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Work.run()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=", obtain the correct transactional "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance by calling"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.10/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" defines the work to be done in a transaction. If this method started a new transaction, it"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="will be committed when work is complete. If transactional context was inherited, no commit is issued"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="until the full transaction completes normally."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the result of the work"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="work" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.10/@comments.0/@tags.1/@fragments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.21"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.10" name="R" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.10/@returnType /0/@orphanTypes.21/@typeArguments.0"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.10/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="transactNew">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Executes work in a new transaction. Note that this is equivalent to {@code transactNew(Integer.MAX_VALUE, work);}&lt;/p> &lt;p>ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p> &lt;p>Within {@code Work.run()}, obtain the new transactional {@code Objectify} instance by calling {@code ObjectifyService.ofy()}&lt;/p>&#xA; * @param work defines the work to be done in a transaction. After the method exits, the transaction will commit.&#xA; * @return the result of the work&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Executes work in a new transaction. Note that this is equivalent to "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" transactNew(Integer.MAX_VALUE, work);"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Within "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Work.run()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=", obtain the new transactional "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.11/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" defines the work to be done in a transaction. After the method exits, the transaction will commit."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the result of the work"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="work" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.11/@comments.0/@tags.1/@fragments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.21"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.10" name="R" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.11/@returnType"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.11/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="transactNew" usagesInDocComments="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.8/@comments.0/@tags.0/@fragments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Executes the work in a new transaction, repeating up to limitTries times when a ConcurrentModificationException is thrown. This requires your Work to be idempotent; otherwise limit tries to 1. &lt;p>Within {@code Work.run()}, obtain the new transactional {@code Objectify} instance by calling {@code ObjectifyService.ofy()}&lt;/p>&#xA; * @param work defines the work to be done in a transaction. After the method exits, the transaction will commit.&#xA; * @return the result of the work&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Executes the work in a new transaction, repeating up to limitTries times when a ConcurrentModificationException"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="is thrown. This requires your Work to be idempotent; otherwise limit tries to 1."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Within "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Work.run()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=", obtain the new transactional "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.12/@parameters.1"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" defines the work to be done in a transaction. After the method exits, the transaction will commit."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the result of the work"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="limitTries">
+ <modifier/>
+ <type type="/0/@orphanTypes.0"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="work" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.12/@comments.0/@tags.1/@fragments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.21"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.10" name="R" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.12/@returnType"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.12/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="execute" usagesInDocComments="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.22/@bodyDeclarations.6/@comments.0/@tags.0/@fragments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Executes the work with the transactional behavior defined by the parameter txnType. This is very similar to EJB semantics. The work can inherit a transaction, create a new transaction, prevent transactions, etc.&lt;/p> &lt;p>This method principally exists to facilitate implementation of AOP interceptors that provide EJB-like behavior. Usually you will call {@code transact()} or {@code transactNew()} when writing code.&lt;/p>&lt;p>Note that ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p> &lt;p>Within {@code Work.run()}, obtain the correct {@code Objectify} instance by calling {@code ObjectifyService.ofy()}&lt;/p>&#xA; * @param txnType defines what kind of transaction context the work should be executed in.&#xA; * @param work defines the work to be done; possibly in a transaction, possibly not as defined by txnType&#xA; * @return the result of the work&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Executes the work with the transactional behavior defined by the parameter txnType. This is very similar"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="to EJB semantics. The work can inherit a transaction, create a new transaction, prevent transactions, etc.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>This method principally exists to facilitate implementation of AOP interceptors that provide EJB-like behavior."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="Usually you will call "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" transact()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" or "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" transactNew()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" when writing code.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Note that ConcurrentModificationExceptions will cause the transaction to repeat as many times as necessary to"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="finish the job. Work &lt;b>MUST&lt;/b> idempotent.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Within "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Work.run()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=", obtain the correct "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" Objectify"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" instance by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.10" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" ObjectifyService.ofy()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" defines what kind of transaction context the work should be executed in."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@parameters.1"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" defines the work to be done; possibly in a transaction, possibly not as defined by txnType"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" the result of the work"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="txnType" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@comments.0/@tags.1/@fragments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.3"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="work" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@comments.0/@tags.2/@fragments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.21"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.10" name="R" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@returnType"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.13/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="clear">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * &lt;p>Clears the session; all subsequent requests (or Ref&lt;?>.get() calls) will go to the datastore/memcache to repopulate the session. This should rarely, if ever be necessary. Note that if you iterate query results you should only perform this action on chunk boundaries, otherwise performance will suffer. This is a &quot;use only if you really know what you are doing&quot; feature.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="&lt;p>Clears the session; all subsequent requests (or Ref&lt;?>.get() calls) will go to the datastore/memcache"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="to repopulate the session. This should rarely, if ever be necessary. Note that if you iterate query results"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="you should only perform this action on chunk boundaries, otherwise performance will suffer. This is a &quot;use"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="only if you really know what you are doing&quot; feature.&lt;/p>"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="toEntity">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * Use save().toEntity() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="Use save().toEntity() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.10">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="pojo">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <returnType type="/0/@unresolvedItems.13"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="toPojo">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * Use load().fromEntity() instead.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="Use load().fromEntity() instead."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.10">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.13"/>
+ </annotations>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="entity">
+ <modifier/>
+ <type type="/0/@unresolvedItems.13"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.10" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.16/@returnType"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.16/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.10" name="isLoaded" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.6/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.10" content="/** &#xA; * @return true if the key has been loaded into the session; false if loading the key would result in a datastore(or memcache) fetch.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.10" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text=" true if the key has been loaded into the session; false if loading the key would result in a datastore"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.10" text="(or memcache) fetch."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <parameters originalCompilationUnit="/0/@compilationUnits.10" name="key">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.11" name="KeyRange" usagesInTypeAccess="/0/@orphanTypes.38/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.11" content="/** &#xA; * &lt;p>This is a typesafe version of the KeyRange object. It represents a number of ids preallocated with {@code ObjectifyFactory#allocateIds(Class, long)}.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.11">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text="&lt;p>This is a typesafe version of the KeyRange object. It represents a number"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text="of ids preallocated with "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.11" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text=" ObjectifyFactory#allocateIds(Class, long)"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text=".&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.11" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.11">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.11" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.11" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.11">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.11" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier/>
+ <type type="/0/@unresolvedItems.26">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ <fragments originalCompilationUnit="/0/@compilationUnits.11" name="raw"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.11" name="KeyRange">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.11" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.11">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.11">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.11">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.11">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.11"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.11" name="raw">
+ <modifier/>
+ <type type="/0/@unresolvedItems.26">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.11" name="getRaw">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.11" content="/** &#xA; * Get the raw datastore keyrange.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.11">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.11" text="Get the raw datastore keyrange."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.11">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.11">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.11">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.11"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@unresolvedItems.26">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </returnType>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.11" name="iterator" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@body/@statements.0/@expression/@expression">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.11" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see java.lang.Iterable#iterator()&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.11">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.11">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.11">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.11" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.1">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.11" method="/0/@unresolvedItems.30">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.11">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.11"/>
+ </expression>
+ </arguments>
+ <anonymousClassDeclaration originalCompilationUnit="/0/@compilationUnits.11">
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.11" name="translate">
+ <annotations originalCompilationUnit="/0/@compilationUnits.11">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.11">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.11">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.11" method="/0/@unresolvedItems.31">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.32"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.11" name="from">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" name="" proxy="true" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4/@body/@statements.0/@expression"/>
+ </anonymousClassDeclaration>
+ <type type="/0/@orphanTypes.25"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.24"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@orphanTypes.23"/>
+ <superInterfaces type="/0/@ownedElements.1/@ownedPackages.0/@ownedElements.1"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.11" name="T"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="ObjectifyFactory" usagesInImports="/0/@compilationUnits.38/@imports.5 /0/@compilationUnits.63/@imports.1 /0/@compilationUnits.65/@imports.0 /0/@compilationUnits.70/@imports.1 /0/@compilationUnits.74/@imports.1 /0/@compilationUnits.78/@imports.10 /0/@compilationUnits.81/@imports.5 /0/@compilationUnits.91/@imports.4 /0/@compilationUnits.95/@imports.15 /0/@compilationUnits.102/@imports.1 /0/@compilationUnits.104/@imports.11 /0/@compilationUnits.106/@imports.2 /0/@compilationUnits.110/@imports.6 /0/@compilationUnits.121/@imports.2 /0/@compilationUnits.134/@imports.3 /0/@compilationUnits.136/@imports.3 /0/@compilationUnits.145/@imports.6 /0/@compilationUnits.146/@imports.2 /0/@compilationUnits.148/@imports.7 /0/@compilationUnits.154/@imports.3 /0/@compilationUnits.166/@imports.0 /0/@compilationUnits.170/@imports.0 /0/@compilationUnits.4/@imports.3" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.0/@fragments.0/@initializer/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.1/@bodyDeclarations.1/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.3/@comments.0/@tags.2/@fragments.0/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.8/@bodyDeclarations.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.12/@bodyDeclarations.1/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.5/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.7/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.8/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.4/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.5/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.6/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.41/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.24/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.24/@bodyDeclarations.1/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.11/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.12/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.28/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.28/@bodyDeclarations.2/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.6/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.4/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.8/@bodyDeclarations.1/@body/@statements.3/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.17/@bodyDeclarations.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.5/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.20/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.20/@bodyDeclarations.1/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.20/@bodyDeclarations.7/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.5/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.8/@bodyDeclarations.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@fragments.0/@initializer/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.1/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.4/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@comments.0/@tags.1/@fragments.0/@qualifier /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.3/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10/@bodyDeclarations.4/@returnType">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>Factory which allows us to construct implementations of the Objectify interface. Just call {@code begin()}.&lt;/p> &lt;p>Note that unlike the DatastoreService, there is no implicit transaction management. You either create an Objectify without a transaction (by calling {@code begin()} or youcreate one with a transaction (by calling {@code beginTransaction()}. If you create an Objectify with a transaction, you should use it like this:&lt;/p> &lt;code>&lt;pre> Objectify data = factory.beginTransaction() try { // do work data.getTxn().commit(); } finally { if (data.getTxn().isActive()) data.getTxn().rollback(); } &lt;/pre>&lt;/code> &lt;p>ObjectifyFactory is designed to be subclassed; much default behavior can be changed by overriding methods. In particular, see createObjectify(), construct(), getAsyncDatastoreService().&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Factory which allows us to construct implementations of the Objectify interface."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Just call "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.12" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" begin()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=".&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Note that unlike the DatastoreService, there is no implicit transaction management."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="You either create an Objectify without a transaction (by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.12" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" begin()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" or you"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="create one with a transaction (by calling "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.12" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" beginTransaction()"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=". If you create"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="an Objectify with a transaction, you should use it like this:&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;code>&lt;pre>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Objectify data = factory.beginTransaction()"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="try {"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="// do work"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="data.getTxn().commit();"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="}"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="finally {"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="if (data.getTxn().isActive()) data.getTxn().rollback();"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="}"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;/pre>&lt;/code>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>ObjectifyFactory is designed to be subclassed; much default behavior can be changed"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="by overriding methods. In particular, see createObjectify(), construct(), getAsyncDatastoreService().&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Default memcache namespace; override getRawMemcacheService() to change &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Default memcache namespace; override getRawMemcacheService() to change "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="final" static="true"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="MEMCACHE_NAMESPACE" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.4/@fragments.0/@initializer/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.0/@fragments.0/@initializer">
+ <initializer xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.12" escapedValue="&quot;ObjectifyCache&quot;"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Encapsulates entity registration info &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Encapsulates entity registration info "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="registrar" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.12/@body/@statements.1/@expression/@rightOperand/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.15/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.18/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.19/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.20/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.21/@body/@statements.0/@expression/@expression/@field">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.6">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * All the various loaders &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="All the various loaders "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="translators" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.28/@body/@statements.0/@expression/@field">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.4">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Tracks stats &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Tracks stats "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.7"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="memcacheStats" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.4/@fragments.0/@initializer/@arguments.2/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.16/@body/@statements.0/@expression/@field">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.7/@bodyDeclarations.6">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.7"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Manages caching of entities at a low level &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Manages caching of entities at a low level "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="entityMemcache" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.12/@body/@statements.1/@thenStatement/@expression/@arguments.1/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.17/@body/@statements.0/@expression/@expression/@field">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13/@bodyDeclarations.9">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.0/@fragments.0"/>
+ <arguments xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.24/@bodyDeclarations.1">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.24"/>
+ </arguments>
+ <arguments xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.3/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </arguments>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * If true, save @Embed structures using EmbeddedEntity &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="If true, save @Embed structures using EmbeddedEntity "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@orphanTypes.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="saveWithNewEmbedFormat" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6/@body/@statements.0/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.7/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.8/@body/@statements.0/@expression/@leftHandSide/@field"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="ObjectifyFactory" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@fragments.0/@initializer">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * @param saveWithNewEmbedFormat controls whether @Embed value should be saved in the new EmbeddedEntity format.You should turn this on and migrate all data when you are ready. At some point in the future, the old format will no longer be supported.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" controls whether @Embed value should be saved in the new EmbeddedEntity format."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="You should turn this on and migrate all data when you are ready. At some point in the future, the old format"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="will no longer be supported."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.12">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.5/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="saveWithNewEmbedFormat" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6/@comments.0/@tags.0/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.6/@body/@statements.0/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getSaveWithNewEmbedFormat" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.10/@body/@statements.0/@expression/@operand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.23/@body/@statements.6/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * If true, save @Embed structures using EmbeddedEntity &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="If true, save @Embed structures using EmbeddedEntity "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.5/@fragments.0"/>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="setSaveWithNewEmbedFormat">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Setting this true causes @Embed structures to be saved with the new EmbeddedEntity format. Objectify will recognize either format on load.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Setting this true causes @Embed structures to be saved with the new EmbeddedEntity format."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Objectify will recognize either format on load."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.12">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.5/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.8/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="value" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.8/@body/@statements.0/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="construct" usagesInDocComments="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.3/@comments.0/@tags.2/@fragments.0" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@elseStatement/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.1/@bodyDeclarations.1/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.28/@bodyDeclarations.4/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.17/@bodyDeclarations.5/@body/@statements.3/@thenStatement/@statements.0/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.17/@bodyDeclarations.8/@body/@statements.1/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.5/@body/@statements.4/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.25/@bodyDeclarations.2/@body/@statements.3/@fragments.0/@initializer/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>Construct an instance of the specified type. Objectify uses this method whenever possible to create instances of entities, condition classes, or other types; by overriding this method you can substitute Guice or other dependency injection mechanisms. By default it constructs with a simple no-args constructor.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Construct an instance of the specified type. Objectify uses this method whenever possible to create"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="instances of entities, condition classes, or other types; by overriding this method you can substitute Guice or other"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="dependency injection mechanisms. By default it constructs with a simple no-args constructor.&lt;/p>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// We do this instead of calling newInstance directly because this lets us work around accessiblity" prefixOfParent="true"/>
+ <type type="/0/@orphanTypes.27"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="ctor" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@body/@statements.1/@expression/@arguments.0">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.3">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.8">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@body/@statements.0/@fragments.0"/>
+ <arguments xsi:type="java:ArrayCreation" originalCompilationUnit="/0/@compilationUnits.12">
+ <dimensions xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.12" tokenValue="0"/>
+ <type type="/0/@orphanTypes.28"/>
+ </arguments>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="type" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@body/@statements.0/@fragments.0/@initializer/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@returnType /0/@orphanTypes.26/@typeArguments.0 /0/@orphanTypes.27/@typeArguments.0"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="constructCollection" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.8/@bodyDeclarations.1/@body/@statements.3/@body/@statements.5/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@thenStatement/@expression/@rightHandSide/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>Construct a collection of the specified type and the specified size for use on a POJO field. You can override this with Guice or whatnot.&lt;/p> &lt;p>The default is to call construct(Class), with one twist - if a Set, SortedSet, or List interface is presented, Objectify will construct a HashSet, TreeSet, or ArrayList (respectively). If you override this method with dependency injection and you use uninitialized fields of these interface types in your entity pojos, you will need to bind these interfaces to concrete types.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Construct a collection of the specified type and the specified size for use on a POJO field. You can override"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="this with Guice or whatnot.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>The default is to call construct(Class), with one twist - if a Set, SortedSet, or List interface is presented,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Objectify will construct a HashSet, TreeSet, or ArrayList (respectively). If you override this method with"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="dependency injection and you use uninitialized fields of these interface types in your entity pojos, you will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="need to bind these interfaces to concrete types.&lt;/p>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.12" escapedValue="&quot;unchecked&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="||">
+ <rightOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.2"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </rightOperand>
+ <leftOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.8"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.6/@bodyDeclarations.0">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.1"/>
+ <type type="/0/@orphanTypes.30"/>
+ </expression>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@typeParameters.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.15"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.13/@bodyDeclarations.0">
+ <arguments xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <rightOperand xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.12" tokenValue="1.5"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.1"/>
+ </expression>
+ </expression>
+ <type type="/0/@orphanTypes.0"/>
+ </arguments>
+ <type type="/0/@orphanTypes.31"/>
+ </expression>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@typeParameters.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.17"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.20/@bodyDeclarations.0">
+ <type type="/0/@orphanTypes.32"/>
+ </expression>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@typeParameters.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@parameters.0"/>
+ </expression>
+ </elseStatement>
+ </elseStatement>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="type" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@expression/@leftOperand/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@expression/@rightOperand/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@expression/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@expression/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@elseStatement/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="size" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@thenStatement/@expression/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@thenStatement/@expression/@expression/@arguments.0/@expression/@expression/@leftOperand">
+ <modifier/>
+ <type type="/0/@orphanTypes.0"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@thenStatement/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@thenStatement/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@body/@statements.0/@elseStatement/@elseStatement/@thenStatement/@expression/@type">
+ <bounds type="/0/@orphanTypes.29"/>
+ </typeParameters>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.10/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="constructMap" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.5/@body/@statements.5/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@thenStatement/@expression/@rightHandSide/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@thenStatement/@expression/@rightHandSide/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>Construct a map of the specified type for use on a POJO field. You can override this with Guice or whatnot.&lt;/p> &lt;p>The default is to call construct(Class), with one twist - if a Map or SortedMap List interface is presented, Objectify will construct a HashMap or TreeMap (respectively). If you override this method with dependency injection and you use uninitialized fields of these interface types in your entity pojos, you will need to bind these interfaces to concrete types.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Construct a map of the specified type for use on a POJO field. You can override this with Guice or whatnot.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>The default is to call construct(Class), with one twist - if a Map or SortedMap List interface is presented,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Objectify will construct a HashMap or TreeMap (respectively). If you override this method with"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="dependency injection and you use uninitialized fields of these interface types in your entity pojos, you will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="need to bind these interfaces to concrete types.&lt;/p>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.12" escapedValue="&quot;unchecked&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.12"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.10/@bodyDeclarations.0">
+ <type type="/0/@orphanTypes.34"/>
+ </expression>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@typeParameters.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.16"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@parameters.0"/>
+ <type type="/0/@orphanTypes.13"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.18/@bodyDeclarations.0">
+ <type type="/0/@orphanTypes.35"/>
+ </expression>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@typeParameters.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.9">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@parameters.0"/>
+ </expression>
+ </elseStatement>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="type" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@expression/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@expression/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@thenStatement/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@thenStatement/@expression/@type">
+ <bounds type="/0/@orphanTypes.33"/>
+ </typeParameters>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.11/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="createAsyncDatastoreService">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Get an AsyncDatastoreService facade appropriate to the options. All Objectify datastore interaction goes through an AsyncDatastoreService. This might or might not produce a CachingAsyncDatastoreService.&#xA; * @return an AsyncDatastoreService configured per the specified options.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Get an AsyncDatastoreService facade appropriate to the options. All Objectify"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="datastore interaction goes through an AsyncDatastoreService. This might or"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="might not produce a CachingAsyncDatastoreService."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" an AsyncDatastoreService configured per the specified options."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@unresolvedItems.37"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="ads">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.39">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.40"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.12" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.5">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </rightOperand>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.12/@parameters.1"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.42">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.41"/>
+ <arguments xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.4/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </arguments>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.41"/>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="cfg">
+ <modifier/>
+ <type type="/0/@unresolvedItems.38"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="globalCache" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.12/@body/@statements.1/@expression/@leftOperand">
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ </parameters>
+ <returnType type="/0/@unresolvedItems.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="createRawAsyncDatastoreService">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * You can override this to add behavior at the raw datastoreservice level.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="You can override this to add behavior at the raw datastoreservice level."/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.44">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.40"/>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.43"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="cfg">
+ <modifier/>
+ <type type="/0/@unresolvedItems.38"/>
+ </parameters>
+ <returnType type="/0/@unresolvedItems.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="begin" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.3/@body/@statements.1/@thenStatement/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * This is the beginning of any Objectify session. It creates an Objectify instance with the default options, unless you override this method to alter the options. You can also override this method to produce a wholly different Objectify implementation (possibly using ObjectifyWrapper). &lt;p>The default options are:&lt;/p> &lt;ul> &lt;li>Do NOT begin a transaction.&lt;/li> &lt;li>DO use a global cache.&lt;/li> &lt;li>Use STRONG consistency.&lt;/li> &lt;li>Apply no deadline to calls.&lt;/li> &lt;/ul> &lt;p>Note that when using Objectify you will almost never directly call this method. Instead you should call the static ofy() method on ObjectifyService.&lt;/p>&#xA; * @return a new Objectify instance&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="This is the beginning of any Objectify session. It creates an Objectify instance with the default"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="options, unless you override this method to alter the options. You can also override this method"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="to produce a wholly different Objectify implementation (possibly using ObjectifyWrapper)."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>The default options are:&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;li>Do NOT begin a transaction.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;li>DO use a global cache.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;li>Use STRONG consistency.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;li>Apply no deadline to calls.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;/ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Note that when using Objectify you will almost never directly call this method. Instead you"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="should call the static ofy() method on ObjectifyService.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" a new Objectify instance"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.5">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ <type type="/0/@orphanTypes.36"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.10"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="register" usagesInDocComments="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@comments.0/@tags.1/@fragments.0" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.5/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>All POJO entity classes which are to be managed by Objectify must be registered first. This method must be called in a single-threaded mode sometime around application initialization.&lt;/p> &lt;p>Any extra translators must be added to the TranslatorRegistry *before entity classes are registered.&lt;/p> &lt;p>Attempts to re-register entity classes are ignored.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>All POJO entity classes which are to be managed by Objectify"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="must be registered first. This method must be called in a single-threaded"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="mode sometime around application initialization.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Any extra translators must be added to the TranslatorRegistry *before"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="entity classes are registered.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Attempts to re-register entity classes are ignored.&lt;/p>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.7">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.15/@parameters.0"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.15/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMemcacheStats" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.8/@bodyDeclarations.1/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Get the object that tracks memcache stats.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Get the object that tracks memcache stats."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.3/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.7"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="setMemcacheErrorHandler">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Sets the error handler for the main memcache object.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Sets the error handler for the main memcache object."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.12" escapedValue="&quot;deprecation&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.47">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.48"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.4/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="handler">
+ <modifier/>
+ <type type="/0/@unresolvedItems.46">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.45">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMetadata" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.22/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.16/@bodyDeclarations.5/@body/@statements.0/@elseStatement/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.4/@expression/@rightOperand/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.16/@body/@statements.1/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.24/@bodyDeclarations.2/@body/@statements.0/@fragments.0/@initializer">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="//" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// Stuff which should only be necessary internally, but might be useful to others." prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="//" prefixOfParent="true"/>
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * @return the metadata for a kind of typed object&#xA; * @throws IllegalArgumentException if the kind has not been registered&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" the metadata for a kind of typed object"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" if the kind has not been registered"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.12">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.18/@parameters.0"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.18/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@orphanTypes.37/@typeArguments.0"/>
+ <returnType type="/0/@orphanTypes.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMetadata">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * @return the metadata for a kind of entity based on its key&#xA; * @throws IllegalArgumentException if the kind has not been registered&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" the metadata for a kind of entity based on its key"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" if the kind has not been registered"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.11">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.50">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.49"/>
+ </arguments>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="key">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMetadata">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * @return the metadata for a kind of entity based on its key&#xA; * @throws IllegalArgumentException if the kind has not been registered&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" the metadata for a kind of entity based on its key"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" if the kind has not been registered"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.11">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.21">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.20/@parameters.0"/>
+ </arguments>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.20/@body/@statements.0/@expression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMetadata">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Gets metadata for the specified kind, returning null if nothing registered. This method is not like the others because it returns null instead of throwing an exception if the kind is not found.&#xA; * @return null if the kind is not registered.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Gets metadata for the specified kind, returning null if nothing registered. This method is not like"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="the others because it returns null instead of throwing an exception if the kind is not found."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" null if the kind is not registered."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.9">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.21/@parameters.0"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.21/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getMetadataForEntity" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.25/@bodyDeclarations.6/@body/@statements.3/@body/@statements.1/@elseStatement/@statements.0/@fragments.0/@initializer">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Named differently so you don't accidentally use the Object form&#xA; * @return the metadata for a kind of typed object.&#xA; * @throws IllegalArgumentException if the kind has not been registered&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Named differently so you don't accidentally use the Object form"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" the metadata for a kind of typed object."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" if the kind has not been registered"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.12" escapedValue="&quot;unchecked&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// Type erasure sucks ass" prefixOfParent="true"/>
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.18">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.22/@parameters.0"/>
+ </arguments>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ <type type="/0/@orphanTypes.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="obj" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.22/@body/@statements.0/@expression/@expression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.22/@typeParameters.0"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.22/@parameters.0/@type"/>
+ <returnType type="/0/@orphanTypes.37"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="allocateId">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Allocates a single id from the allocator for the specified kind. Safe to use in concert with the automatic generator. This is just a convenience method for allocateIds().&#xA; * @param clazz must be a registered entity class with a Long or long id field.&#xA; * @return a key with an id that is unique to the kind&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Allocates a single id from the allocator for the specified kind. Safe to use in concert"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="with the automatic generator. This is just a convenience method for allocateIds()."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a registered entity class with a Long or long id field."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" a key with an id that is unique to the kind"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.5/@bodyDeclarations.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@parameters.0"/>
+ <arguments xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.12" tokenValue="1"/>
+ </expression>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@comments.0/@tags.1/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@body/@statements.0/@expression/@expression/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="allocateId">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Allocates a single id from the allocator for the specified kind. Safe to use in concert with the automatic generator. This is just a convenience method for allocateIds(). Note that the id is only unique within the parent, not across the entire kind.&#xA; * @param parentKeyOrEntity must be a legitimate parent for the class type. It need notpoint to an existent entity, but it must be the correct type for clazz.&#xA; * @param clazz must be a registered entity class with a Long or long id field, anda parent key of the correct type.&#xA; * @return a key with a new id unique to the kind and parent&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Allocates a single id from the allocator for the specified kind. Safe to use in concert"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="with the automatic generator. This is just a convenience method for allocateIds()."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Note that the id is only unique within the parent, not across the entire kind."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a legitimate parent for the class type. It need not"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="point to an existent entity, but it must be the correct type for clazz."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@parameters.1"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a registered entity class with a Long or long id field, and"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="a parent key of the correct type."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" a key with a new id unique to the kind and parent"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.5/@bodyDeclarations.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@parameters.1"/>
+ <arguments xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.12" tokenValue="1"/>
+ </expression>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="parentKeyOrEntity" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@comments.0/@tags.1/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@body/@statements.0/@expression/@expression/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@comments.0/@tags.2/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@body/@statements.0/@expression/@expression/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="allocateIds" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.23/@body/@statements.0/@expression/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Preallocate a contiguous range of unique ids within the namespace of the specified entity class. These ids can be used in concert with the normal automatic allocation of ids when put()ing entities with null Long id fields.&#xA; * @param clazz must be a registered entity class with a Long or long id field.&#xA; * @param num must be >= 1 and &lt;= 1 billion&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Preallocate a contiguous range of unique ids within the namespace of the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="specified entity class. These ids can be used in concert with the normal"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="automatic allocation of ids when put()ing entities with null Long id fields."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a registered entity class with a Long or long id field."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@parameters.1"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be >= 1 and &lt;= 1 billion"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// Feels a little weird going directly to the DatastoreServiceFactory but the" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// allocateIds() method really is optionless." prefixOfParent="true"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.1/@expression/@arguments.0/@arguments.0">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.53">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.52">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.0/@fragments.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@parameters.1"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.51">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.43"/>
+ </expression>
+ </arguments>
+ <type type="/0/@orphanTypes.38"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@comments.0/@tags.1/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.0/@fragments.0/@initializer/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="num" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@comments.0/@tags.2/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.1/@expression/@arguments.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T" usagesInTypeAccess="/0/@orphanTypes.38/@typeArguments.0"/>
+ <returnType type="/0/@orphanTypes.38"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="allocateIds" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.24/@body/@statements.0/@expression/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Preallocate a contiguous range of unique ids within the namespace of the specified entity class and the parent key. These ids can be used in concert with the normal automatic allocation of ids when put()ing entities with null Long id fields.&#xA; * @param parentKeyOrEntity must be a legitimate parent for the class type. It need notpoint to an existent entity, but it must be the correct type for clazz.&#xA; * @param clazz must be a registered entity class with a Long or long id field, anda parent key of the correct type.&#xA; * @param num must be >= 1 and &lt;= 1 billion&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Preallocate a contiguous range of unique ids within the namespace of the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="specified entity class and the parent key. These ids can be used in concert with the normal"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="automatic allocation of ids when put()ing entities with null Long id fields."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.0"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a legitimate parent for the class type. It need not"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="point to an existent entity, but it must be the correct type for clazz."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.1"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be a registered entity class with a Long or long id field, and"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="a parent key of the correct type."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@param">
+ <fragments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.2"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" must be >= 1 and &lt;= 1 billion"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@orphanTypes.22"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.2/@expression/@arguments.0/@arguments.0/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.12" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.2/@expression/@arguments.0/@arguments.1">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.1"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// Feels a little weird going directly to the DatastoreServiceFactory but the" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.12" content="// allocateIds() method really is optionless." prefixOfParent="true"/>
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.55">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.52">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.54">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.0/@fragments.0"/>
+ </arguments>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.1/@fragments.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@parameters.2"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.51">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.43"/>
+ </expression>
+ </arguments>
+ <type type="/0/@orphanTypes.38"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="parentKeyOrEntity" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@comments.0/@tags.1/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.0/@fragments.0/@initializer/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@comments.0/@tags.2/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.1/@fragments.0/@initializer/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.26"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="num" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@comments.0/@tags.3/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.2/@expression/@arguments.0/@arguments.2">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@orphanTypes.38"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="allocateIdRange">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * Allocates a user-specified contiguous range of unique IDs, preventing the allocator from giving them out to entities (with autogeneration) or other calls to allocate methods. This lets you specify a specific range to block out (for example, you are bulk-loading a collection of pre-existing entities). If you don't care about what id is allocated, use one of the other allocate methods.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="Allocates a user-specified contiguous range of unique IDs, preventing the allocator from"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="giving them out to entities (with autogeneration) or other calls to allocate methods."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="This lets you specify a specific range to block out (for example, you are bulk-loading a"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="collection of pre-existing entities). If you don't care about what id is allocated, use"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="one of the other allocate methods."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.57">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.54">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.27/@parameters.0"/>
+ </arguments>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.12" method="/0/@unresolvedItems.51">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.43"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.12" name="range" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.27/@body/@statements.0/@expression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.38"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.12" name="T"/>
+ <returnType type="/0/@unresolvedItems.56"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.12" name="getTranslators" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.0/@bodyDeclarations.26/@body/@statements.2/@elseStatement/@statements.1/@elseStatement/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.8/@bodyDeclarations.1/@body/@statements.3/@body/@statements.4/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.17/@bodyDeclarations.5/@body/@statements.5/@body/@statements.0/@body/@statements.1/@body/@statements.0/@elseStatement/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.5/@body/@statements.3/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.7/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.28/@bodyDeclarations.0/@body/@statements.3/@body/@statements.1/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@body/@statements.1/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@body/@statements.2/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@body/@statements.3/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.4/@bodyDeclarations.0/@body/@statements.4/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.8/@bodyDeclarations.0/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedPackages.0/@ownedPackages.0/@ownedElements.8/@bodyDeclarations.0/@body/@statements.1/@expression/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.12" content="/** &#xA; * &lt;p>Gets the master list of all registered TranslatorFactory objects. By adding Translators, Objectify can process additional field types which are not part of the standard GAE SDK. &lt;b>You must add translators *before* registering entity pojo classes.&lt;/b>&lt;/p>&#xA; * @return the repository of TranslatorFactory objects, to which you can optionally add translators&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.12">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="&lt;p>Gets the master list of all registered TranslatorFactory objects. By adding Translators, Objectify"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="can process additional field types which are not part of the standard GAE SDK. &lt;b>You must"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text="add translators *before* registering entity pojo classes.&lt;/b>&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.12" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.12" text=" the repository of TranslatorFactory objects, to which you can optionally add translators"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.12">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.12">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.12">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.2/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.12"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.6"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.13" name="NotFoundException" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@comments.0/@tags.2/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@thrownExceptions.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.1/@thenStatement/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.12/@thrownExceptions.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@comments.0/@tags.1/@fragments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@thrownExceptions.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.1/@thenStatement/@expression/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.13" content="/** &#xA; * Exception thrown when a fetch for something could not be found. This is associated with the getSafe() and keySafe() methods on Ref; if the item being sought in the Ref couldn't be found, this will be thrown.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.13">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text="Exception thrown when a fetch for something could not be found. This is associated with the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text="getSafe() and keySafe() methods on Ref; if the item being sought in the Ref couldn't be found,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text="this will be thrown."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.13">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.13" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.13" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.13">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.13" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="private"/>
+ <type type="/0/@orphanTypes.22"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.13" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.4/@body/@statements.0/@expression/@field"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.13" name="NotFoundException">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.13" content="/** &#xA; * Thrown when there is no key context (eg, query.first() on an empty result set) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.13">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text="Thrown when there is no key context (eg, query.first() on an empty result set) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.13">
+ <statements xsi:type="java:ConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.13" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.13"/>
+ </statements>
+ </body>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.13" name="NotFoundException" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.11/@body/@statements.1/@thenStatement/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.7/@bodyDeclarations.4/@body/@statements.1/@thenStatement/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.2/@body/@statements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.13" content="/** &#xA; * Thrown when we at least know what we are looking for! &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.13">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text="Thrown when we at least know what we are looking for! "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.13">
+ <statements xsi:type="java:SuperConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.13" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.1">
+ <arguments xsi:type="java:ConditionalExpression" originalCompilationUnit="/0/@compilationUnits.13">
+ <elseExpression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.13" operator="+">
+ <rightOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@parameters.0"/>
+ <leftOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.13" escapedValue="&quot;No entity was found matching the key: &quot;"/>
+ </elseExpression>
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.13" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.13"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@parameters.0"/>
+ </expression>
+ <thenExpression xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.13" escapedValue="&quot;No entity was found&quot;"/>
+ </arguments>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.13">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.13">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.13">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.13"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.13" name="key" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@body/@statements.0/@arguments.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@body/@statements.0/@arguments.0/@elseExpression/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.3/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.13" name="getKey">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.13" content="/** &#xA; * @return the key we are looking for, if known &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.13" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.13" text=" the key we are looking for, if known "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.13">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.13">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.13">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.13/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.13"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.22"/>
+ </bodyDeclarations>
+ <superClass type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.3"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usagesInImports="/0/@compilationUnits.53/@imports.3 /0/@compilationUnits.54/@imports.0 /0/@compilationUnits.55/@imports.2 /0/@compilationUnits.56/@imports.0 /0/@compilationUnits.78/@imports.8 /0/@compilationUnits.81/@imports.3 /0/@compilationUnits.86/@imports.2 /0/@compilationUnits.87/@imports.3 /0/@compilationUnits.90/@imports.0 /0/@compilationUnits.91/@imports.3 /0/@compilationUnits.92/@imports.7 /0/@compilationUnits.93/@imports.11 /0/@compilationUnits.94/@imports.4 /0/@compilationUnits.95/@imports.13 /0/@compilationUnits.97/@imports.10 /0/@compilationUnits.98/@imports.2 /0/@compilationUnits.99/@imports.9 /0/@compilationUnits.103/@imports.11 /0/@compilationUnits.112/@imports.4 /0/@compilationUnits.113/@imports.3 /0/@compilationUnits.116/@imports.4 /0/@compilationUnits.118/@imports.7 /0/@compilationUnits.122/@imports.7 /0/@compilationUnits.123/@imports.7 /0/@compilationUnits.126/@imports.0 /0/@compilationUnits.127/@imports.1 /0/@compilationUnits.128/@imports.8 /0/@compilationUnits.143/@imports.4 /0/@compilationUnits.149/@imports.1 /0/@compilationUnits.152/@imports.1 /0/@compilationUnits.154/@imports.2 /0/@compilationUnits.202/@imports.5 /0/@compilationUnits.216/@imports.5 /0/@compilationUnits.218/@imports.3 /0/@compilationUnits.219/@imports.5 /0/@compilationUnits.221/@imports.6 /0/@compilationUnits.222/@imports.5" usagesInTypeAccess="/0/@orphanTypes.200/@type /0/@orphanTypes.206/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.7/@body/@statements.0/@body/@statements.0/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.9/@bodyDeclarations.7/@body/@statements.0/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.9/@bodyDeclarations.8/@body/@statements.0/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.7/@body/@statements.1/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.14/@bodyDeclarations.4/@body/@statements.2/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.10/@body/@statements.0/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.1/@expression/@rightHandSide/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.18/@body/@statements.4/@thenStatement/@statements.1/@elseStatement/@thenStatement/@statements.1/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.2/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.9/@body/@statements.0/@elseStatement/@thenStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.14/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.2/@body/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.25/@bodyDeclarations.6/@body/@statements.6/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.2/@body/@statements.2/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.25/@bodyDeclarations.7/@body/@statements.2/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.0/@body/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.4/@body/@statements.3/@expression/@rightHandSide/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.6/@body/@statements.1/@expression/@rightOperand/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.21/@bodyDeclarations.0/@body/@statements.0/@arguments.0/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.21/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.24/@bodyDeclarations.1/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@expression/@arguments.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.4/@expression/@rightOperand/@rightOperand/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@body/@statements.2/@elseStatement/@expression/@rightOperand/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@body/@statements.2/@elseStatement/@thenStatement/@expression/@rightHandSide/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.2/@body/@statements.1/@fragments.0/@initializer/@expression/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.2/@body/@statements.0/@thenStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.2/@body/@statements.0/@elseStatement/@thenStatement/@expression/@expression /0/@orphanTypes.624/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.5/@bodyDeclarations.1/@body/@statements.0/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.5/@bodyDeclarations.2/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.5/@bodyDeclarations.2/@body/@statements.1/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.1/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.2/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.7/@bodyDeclarations.1/@body/@statements.3/@expression/@arguments.0/@type /0/@orphanTypes.626/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.8/@bodyDeclarations.0/@parameters.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@body/@statements.2/@expression/@arguments.0/@expression /0/@orphanTypes.629/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.0/@parameters.0/@type /0/@orphanTypes.16/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.0/@fragments.0/@initializer/@expression /0/@orphanTypes.22/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.11/@bodyDeclarations.4/@body/@statements.0/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.1/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.7/@body/@statements.0/@expression/@expression /0/@orphanTypes.42/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * &lt;p>A typesafe wrapper for the datastore Key object.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; * @author Scott Hernandez&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="&lt;p>A typesafe wrapper for the datastore Key object.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" Scott Hernandez"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.14">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.14" tokenValue="2L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(key) is easier to type than new Key&lt;Blah>(key) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(key) is easier to type than new Key&lt;Blah>(key) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;Cannot create a Key&lt;?> from a null datastore Key&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.59">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="raw">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(Blah.class, id) is easier to type than new Key&lt;Blah>(Blah.class, id) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(Blah.class, id) is easier to type than new Key&lt;Blah>(Blah.class, id) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.2/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.2/@parameters.1"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.2/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="id" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.2/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T" usagesInTypeAccess="/0/@orphanTypes.40/@bound"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(Blah.class, name) is easier to type than new Key&lt;Blah>(Blah.class, name) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(Blah.class, name) is easier to type than new Key&lt;Blah>(Blah.class, name) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.3/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.3/@parameters.1"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.3/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="name" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.3/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.9/@bodyDeclarations.7/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.2/@body/@statements.0/@elseStatement/@thenStatement/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(parent, Blah.class, id) is easier to type than new Key&lt;Blah>(parent, Blah.class, id) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(parent, Blah.class, id) is easier to type than new Key&lt;Blah>(parent, Blah.class, id) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@parameters.1"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@parameters.2"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="id" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.2">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.9/@bodyDeclarations.8/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedElements.19/@bodyDeclarations.2/@body/@statements.0/@thenStatement/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(parent, Blah.class, name) is easier to type than new Key&lt;Blah>(parent, Blah.class, name) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(parent, Blah.class, name) is easier to type than new Key&lt;Blah>(parent, Blah.class, name) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@parameters.1"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@parameters.2"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="name" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.2">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.7/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@body/@statements.2/@elseStatement/@thenStatement/@expression/@rightHandSide /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.5/@bodyDeclarations.2/@body/@statements.1/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@body/@statements.2/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Key.create(webSafeString) is easier to type than new Key&lt;Blah>(webSafeString) &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Key.create(webSafeString) is easier to type than new Key&lt;Blah>(webSafeString) "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;Cannot create a Key&lt;?> from a null String&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.12"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.17">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6/@parameters.0"/>
+ <type type="/0/@orphanTypes.16"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="webSafeString" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6/@body/@statements.1/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="valueOf">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * This is an alias for Key.create(String) which exists for JAX-RS compliance. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="This is an alias for Key.create(String) which exists for JAX-RS compliance. "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.7/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="webSafeString" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.7/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="create" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.15/@bodyDeclarations.10/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.2/@body/@statements.0/@fragments.0/@initializer">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Create a key from a registered POJO entity. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Create a key from a registered POJO entity. "/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.2">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.8/@parameters.0"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="pojo" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.8/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.8/@typeParameters.0"/>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.8/@parameters.0/@type"/>
+ <returnType type="/0/@orphanTypes.16"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.14">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="protected"/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="raw"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.14">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Cache the instance of the parent wrapper to avoid unnecessary garbage &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Cache the instance of the parent wrapper to avoid unnecessary garbage "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected" transient="true"/>
+ <type type="/0/@orphanTypes.22"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.22/@body/@statements.0/@expression/@leftOperand/@leftOperand/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.22/@body/@statements.0/@thenStatement/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.22/@body/@statements.1/@expression/@expression/@field"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * For GWT serialization &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="For GWT serialization "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Wrap a raw Key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Wrap a raw Key "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="raw">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.2/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Create a key with a long id &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Create a key with a long id "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13/@parameters.1"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13/@body/@statements.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="id" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13/@body/@statements.0/@arguments.2">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.3/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Create a key with a String name &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Create a key with a String name "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14/@parameters.1"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14/@body/@statements.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="name" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14/@body/@statements.0/@arguments.2">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.4/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.13/@body/@statements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Create a key with a parent and a long id &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Create a key with a parent and a long id "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.61">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.62">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@parameters.0"/>
+ </arguments>
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@parameters.1"/>
+ </arguments>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@parameters.2"/>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.60"/>
+ </rightHandSide>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.10/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.0/@expression/@rightHandSide/@arguments.0/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.0/@expression/@rightHandSide/@arguments.1/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="id" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.0/@expression/@rightHandSide/@arguments.2">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.5/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.14/@body/@statements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Create a key with a parent and a String name &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Create a key with a parent and a String name "/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.61">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.62">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@parameters.0"/>
+ </arguments>
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@parameters.1"/>
+ </arguments>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@parameters.2"/>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.60"/>
+ </rightHandSide>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.10/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="parent" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.0/@expression/@rightHandSide/@arguments.0/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="kindClass" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.0/@expression/@rightHandSide/@arguments.1/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.41"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="name" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.0/@expression/@rightHandSide/@arguments.2">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="Key" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.6/@body/@statements.1/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Reconstitute a Key from a web safe string. This can be generated with getString() or KeyFactory.strongToKey().&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Reconstitute a Key from a web safe string. This can be generated with getString()"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="or KeyFactory.strongToKey()."/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.64">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.63">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.17/@parameters.0"/>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.60"/>
+ </arguments>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="webSafe" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.17/@body/@statements.0/@arguments.0/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getRaw">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * @return the raw datastore version of this key&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the raw datastore version of this key"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </returnType>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getId">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * @return the id associated with this key, or 0 if this key has a name.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the id associated with this key, or 0 if this key has a name."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.65">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.1"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getName">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * @return the name associated with this key, or null if this key has an id&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the name associated with this key, or null if this key has an id"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.66">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getKind" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.20/@bodyDeclarations.8/@body/@statements.0/@expression/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.20/@body/@statements.0/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * @return the low-level datastore kind associated with this Key&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the low-level datastore kind associated with this Key"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.50">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getParent" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.23/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.23/@body/@statements.0/@elseStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.8/@body/@statements.3/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.8/@body/@statements.3/@thenStatement/@statements.1/@thenStatement/@statements.0/@thenStatement/@statements.0/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * @return the parent key, or null if there is no parent. Note thatthe parent could potentially have any type.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the parent key, or null if there is no parent. Note that"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="the parent could potentially have any type."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;unchecked&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.67">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </leftOperand>
+ </rightOperand>
+ <leftOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.10/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftOperand>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.14">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.10/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.68">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.67">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </arguments>
+ <type type="/0/@orphanTypes.42"/>
+ </rightHandSide>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.10/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ <type type="/0/@orphanTypes.42"/>
+ </expression>
+ </statements>
+ </body>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="V" usagesInTypeAccess="/0/@orphanTypes.42/@typeArguments.0"/>
+ <returnType type="/0/@orphanTypes.42"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getRoot" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.23/@body/@statements.0/@elseStatement/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Gets the root of a parent graph of keys. If a Key has no parent, it is the root.&#xA; * @return the topmost parent key, or this object itself if it is the root.Note that the root key could potentially have any type.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Gets the root of a parent graph of keys. If a Key has no parent, it is the root."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" the topmost parent key, or this object itself if it is the root."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Note that the root key could potentially have any type."/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;unchecked&quot;"/>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.22">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <type type="/0/@orphanTypes.42"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.23">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.22">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </elseStatement>
+ </statements>
+ </body>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="V"/>
+ <returnType type="/0/@orphanTypes.42"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="compareTo" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@body/@statements.2/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.13/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * &lt;p>Compares based on comparison of the raw key&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="&lt;p>Compares based on comparison of the raw key&lt;/p>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.69">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27">
+ <qualifier xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.24/@parameters.0"/>
+ </arguments>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="other" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.24/@body/@statements.0/@expression/@arguments.0/@qualifier">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="equals" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.26/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@body/@statements.0/@expression/@elseExpression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.14/@body/@statements.0/@expression/@rightOperand">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:PrefixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!">
+ <operand xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InstanceofExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <rightOperand type="/0/@orphanTypes.22"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@parameters.0"/>
+ </expression>
+ </operand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.14" tokenValue="0"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.24">
+ <arguments xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@parameters.0"/>
+ <type type="/0/@orphanTypes.22"/>
+ </arguments>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </leftOperand>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="obj" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@body/@statements.1/@expression/@operand/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25/@body/@statements.2/@expression/@leftOperand/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="equivalent" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.16/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * A type-safe equivalence comparison &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="A type-safe equivalence comparison "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.26/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="other" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.26/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.16"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="equivalent">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * A type-safe equivalence comparison &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="A type-safe equivalence comparison "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ConditionalExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <elseExpression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.25">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.6">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@parameters.0"/>
+ </arguments>
+ </elseExpression>
+ <expression xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@parameters.0"/>
+ </expression>
+ </expression>
+ <thenExpression xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="other" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@body/@statements.0/@expression/@expression/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.27/@body/@statements.0/@expression/@elseExpression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.14"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="hashCode" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.6/@bodyDeclarations.17/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.70">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="toString">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Creates a human-readable version of this key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Creates a human-readable version of this key "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="+">
+ <rightOperand xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;Key&lt;?>(&quot;"/>
+ <extendedOperands xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;)&quot;"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getString" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.8/@expression/@anonymousClassDeclaration/@bodyDeclarations.1/@body/@statements.2/@body/@statements.1/@fragments.0/@initializer/@thenExpression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.1/@elseStatement/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.6/@bodyDeclarations.0/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.8/@bodyDeclarations.0/@body/@statements.0/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.7/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.0/@body/@statements.0/@expression/@arguments.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Call KeyFactory.keyToString() on the underlying Key. You can reconstitute a Key&lt;?> using the constructor that takes a websafe string.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Call KeyFactory.keyToString() on the underlying Key. You can reconstitute a Key&lt;?> using the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="constructor that takes a websafe string."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.71">
+ <arguments xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.14">
+ <field variable="/0/@unresolvedItems.27"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </arguments>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.60"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="key">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Easy null-safe conversion of the raw key.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Easy null-safe conversion of the raw key."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.72">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.27"/>
+ <type type="/0/@orphanTypes.42"/>
+ </expression>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="raw">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </parameters>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="V"/>
+ <returnType type="/0/@orphanTypes.42"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="key">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Easy null-safe conversion of the typed key.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Easy null-safe conversion of the typed key."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.32/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@unresolvedItems.54">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.32/@parameters.0"/>
+ </expression>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="typed" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.32/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.32/@body/@statements.0/@elseStatement/@expression/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.22"/>
+ </parameters>
+ <returnType type="/0/@unresolvedItems.29">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.25">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.24">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.23">
+ <qualifier xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.22">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </returnType>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getKind" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.7/@body/@statements.1/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.1/@expression/@rightHandSide/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.18/@body/@statements.4/@thenStatement/@statements.1/@elseStatement/@thenStatement/@statements.1/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.4/@body/@statements.3/@expression/@rightHandSide /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.25/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.26/@body/@statements.1/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.15/@body/@statements.0/@expression/@rightHandSide/@arguments.1 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.16/@body/@statements.0/@expression/@rightHandSide/@arguments.1">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * &lt;p>Determines the kind for a Class, as understood by the datastore. The first class in a hierarchy that has @Entity defines the kind (either explicitly or as that class' simplename).&lt;/p>&#xA; * @throws IllegalArgumentException if a kind cannot be determined (ie no @Entity in hierarchy).&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="&lt;p>Determines the kind for a Class, as understood by the datastore. The first class in a"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="hierarchy that has @Entity defines the kind (either explicitly or as that class' simplename).&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@throws">
+ <fragments xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" if a kind cannot be determined (ie no @Entity in hierarchy)."/>
+ </tags>
+ </comments>
+ <modifier visibility="public" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.1/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.1/@elseStatement/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@parameters.0"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.0">
+ <arguments xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="+">
+ <rightOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@parameters.0"/>
+ <leftOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot;Class hierarchy for &quot;"/>
+ <extendedOperands xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.14" escapedValue="&quot; has no @Entity annotation&quot;"/>
+ </arguments>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.18"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.0/@fragments.0"/>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.0/@fragments.0/@initializer/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.1/@thenStatement/@expression/@arguments.0/@rightOperand">
+ <modifier/>
+ <type type="/0/@orphanTypes.13"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getKindRecursive" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.33/@body/@statements.0/@fragments.0/@initializer /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.2/@elseStatement/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * &lt;p>Recursively looks for the @Entity annotation.&lt;/p>&#xA; * @return null if kind cannot be found&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="&lt;p>Recursively looks for the @Entity annotation.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.14" tagName="@return">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text=" null if kind cannot be found"/>
+ </tags>
+ </comments>
+ <modifier visibility="private" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="==">
+ <rightOperand xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </rightOperand>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@parameters.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.2/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.2/@thenStatement/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@parameters.0"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.1/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.1/@fragments.0"/>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.1">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@parameters.0"/>
+ </arguments>
+ </expression>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.1/@fragments.0/@initializer/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.2/@elseStatement/@expression/@arguments.0/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.13"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.14" name="getKindHere" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.34/@body/@statements.1/@fragments.0/@initializer">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.14" content="/** &#xA; * Get the kind from the class if the class has an @Entity annotation, otherwise return null.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.14">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.14" text="Get the kind from the class if the class has an @Entity annotation, otherwise return null."/>
+ </tags>
+ </comments>
+ <modifier visibility="private" static="true"/>
+ <body originalCompilationUnit="/0/@compilationUnits.14">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.14" name="ourAnn" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.1/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.1/@thenStatement/@expression/@leftOperand/@leftOperand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.1/@thenStatement/@expression/@rightOperand/@leftOperand/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.1/@thenStatement/@thenStatement/@expression/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.2">
+ <arguments xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.14">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14"/>
+ </arguments>
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@parameters.0"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!=">
+ <rightOperand xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.14" tokenValue="0"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4/@bodyDeclarations.0">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0"/>
+ </expression>
+ </leftOperand>
+ </rightOperand>
+ <leftOperand xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.14" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0"/>
+ </leftOperand>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.14" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.0">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@parameters.0"/>
+ </expression>
+ </elseStatement>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.14">
+ <expression xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.14"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.14" name="clazz" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0/@initializer/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.1/@thenStatement/@elseStatement/@expression/@expression">
+ <modifier/>
+ <type type="/0/@orphanTypes.13"/>
+ </parameters>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@ownedElements.1/@ownedPackages.0/@ownedElements.1"/>
+ <superInterfaces type="/0/@orphanTypes.39"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.14" name="T"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.15" name="SaveException" usagesInImports="/0/@compilationUnits.81/@imports.6" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.9/@body/@statements.1/@catchClauses.0/@exception/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.9/@body/@statements.1/@catchClauses.1/@body/@statements.0/@expression/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.15" content="/** &#xA; * Thrown when something went wrong during the save translation process. Indicates what went wrong with which entity.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.15">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.15" text="Thrown when something went wrong during the save translation process. Indicates what went"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.15" text="wrong with which entity."/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.15">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@orphanTypes.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.15" name="serialVersionUID">
+ <initializer xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.15" tokenValue="1L"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.15">
+ <modifier visibility="private" inheritance="final"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.15" name="pojo" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.3/@body/@statements.0/@expression/@field"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.15" name="SaveException" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.3/@bodyDeclarations.9/@body/@statements.1/@catchClauses.1/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.15" content="/** &#xA; * Constructor to use when you're saving an entity with a known key &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.15">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.15" text="Constructor to use when you're saving an entity with a known key "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.15">
+ <statements xsi:type="java:SuperConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.15" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1/@bodyDeclarations.1">
+ <arguments xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.15" operator="+">
+ <rightOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@parameters.0"/>
+ <leftOperand xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.15" escapedValue="&quot;Error saving &quot;"/>
+ <extendedOperands xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.15" escapedValue="&quot;: &quot;"/>
+ <extendedOperands xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@parameters.1"/>
+ </arguments>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@parameters.2"/>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.15">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.15">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.15">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.15"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@parameters.0"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.15" name="pojo" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.0/@arguments.0/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.15" name="message" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.0/@arguments.0/@extendedOperands.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.15" name="cause" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.2/@body/@statements.0/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.1"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.15" name="getPojo">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.15" content="/** &#xA; * The complete version of what we couldn't translate &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.15">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.15" text="The complete version of what we couldn't translate "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.15">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.15">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.15">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.15/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.15"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10"/>
+ </bodyDeclarations>
+ <superClass type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.1"/>
+ </ownedElements>
+ <ownedPackages name="annotation" usagesInPackageAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0/@type/@qualifier">
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.16" name="OnSave" usagesInImports="/0/@compilationUnits.110/@imports.9" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.8/@body/@statements.2/@body/@statements.0/@expression/@leftOperand/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.8/@body/@statements.2/@body/@statements.0/@thenStatement/@statements.3/@expression/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.16" content="/** &#xA; * &lt;p>When placed on a method on a POJO entity, that method will be called just prior to being saved in the datastore. Analogous to the JPA @PrePersist annotation.&lt;/p> &lt;p>The method can optionally receive one parameter, an Objectify instance.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.16">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.16" text="&lt;p>When placed on a method on a POJO entity, that method will be called just prior to being saved in the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.16" text="datastore. Analogous to the JPA @PrePersist annotation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.16" text="&lt;p>The method can optionally receive one parameter, an Objectify instance.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.16" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.16" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.16">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.16">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.16">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.17" name="IgnoreSave" usagesInImports="/0/@compilationUnits.121/@imports.3" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.9/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.9/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.17" content="/** &#xA; * &lt;p>When placed on an entity field, the field will not be written to the datastore. It will, however, be loaded normally. This is particularly useful in concert with {@code @OnLoad} and {@code @OnSave} to transform your data.&lt;/p>&lt;p>If passed one or more classes that implement the {@code If} interface, thevalue will be ignored only if it tests positive for any of the conditions. This is a convenient way to prevent storing of default values, potentially saving a significant amount of storage and indexing cost.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.17">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="&lt;p>When placed on an entity field, the field will not be written to the datastore."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="It will, however, be loaded normally. This is particularly useful in concert with"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.17" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" @OnLoad"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" and "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.17" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" @OnSave"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" to transform your data.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="&lt;p>If passed one or more classes that implement the "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.17" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" If"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" interface, the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="value will be ignored only if it tests positive for any of the conditions. This"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="is a convenient way to prevent storing of default values, potentially saving"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text="a significant amount of storage and indexing cost.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.17" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.17" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.17">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.17">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.17">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.17" name="value">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.17" content="// Fully specifying the default value works around a bizarre compiler bug:" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.17" content="// http://stackoverflow.com/questions/1425088/incompatible-types-found-required-default-enums-in-annotations" prefixOfParent="true"/>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.17">
+ <expressions xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.17">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.9">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </expressions>
+ </default>
+ <type type="/0/@orphanTypes.46"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.18" name="Unindex" usagesInImports="/0/@compilationUnits.121/@imports.5" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.5/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.5/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@statements.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@statements.1/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.18" content="/** &#xA; * &lt;p>This annotation controls whether or not fields are indexed in the datastore.&lt;/p> &lt;p>When placed on a simple field, the field will be not be indexed. If the field is an @Embed class or a collection of @Embed classes, the fields of those classes will be indexed as if the class had the @Unindex annotation.&lt;/p> &lt;p>When placed on an entity class or an embedded class, this sets the default for all fields to be unindexed. It can be overridden by field level annotations.&lt;/p> &lt;p>If an embedded class field is annotated with @Unindex, any @Index or @Unindex annotation on the class itself is ignored.&lt;/p> &lt;p>If passed one or more classes that implement the {@code If} interface, thevalue will be unindexed only if it tests positive for any of the conditions. This allows &quot;partial indexing&quot; of only some categories of values (ie, true but not false).&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; * @author Scott Hernandez &lt;fullname@gmail)&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.18">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="&lt;p>This annotation controls whether or not fields are indexed in the datastore.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="&lt;p>When placed on a simple field, the field will be not be indexed. If the field is"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="an @Embed class or a collection of @Embed classes, the fields of those classes"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="will be indexed as if the class had the @Unindex annotation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="&lt;p>When placed on an entity class or an embedded class, this sets the default"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="for all fields to be unindexed. It can be overridden by field level annotations.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="&lt;p>If an embedded class field is annotated with @Unindex, any @Index or @Unindex"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="annotation on the class itself is ignored.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="&lt;p>If passed one or more classes that implement the "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.18" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text=" If"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text=" interface, the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="value will be unindexed only if it tests positive for any of the conditions. This"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text="allows &quot;partial indexing&quot; of only some categories of values (ie, true but not false).&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.18" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.18" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.18" text=" Scott Hernandez &lt;fullname@gmail)"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.18">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.18">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.18">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.18" name="value">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.18" content="// Fully specifying the default value works around a bizarre compiler bug:" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.18" content="// http://stackoverflow.com/questions/1425088/incompatible-types-found-required-default-enums-in-annotations" prefixOfParent="true"/>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.18">
+ <expressions xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.18">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.9">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </expressions>
+ </default>
+ <type type="/0/@orphanTypes.46"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.19" name="Owner" usagesInImports="/0/@compilationUnits.145/@imports.7" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.17/@bodyDeclarations.5/@body/@statements.5/@body/@statements.0/@body/@statements.1/@body/@statements.0/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.19" content="/** &#xA; * &lt;p>Place on one or more fields insde an @Embed class. When loaded, the field will be populated with a reference to the &quot;owning&quot; object. Since embedded classes can nest other classes, this will reference the first object of the correct type when searching up the chain.&lt;/p> &lt;p>Owner fields are ignored during save.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.19">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.19" text="&lt;p>Place on one or more fields insde an @Embed class. When loaded, the field will be populated"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.19" text="with a reference to the &quot;owning&quot; object. Since embedded classes can nest other classes, this will reference"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.19" text="the first object of the correct type when searching up the chain.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.19" text="&lt;p>Owner fields are ignored during save.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.19" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.19" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.19">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.19">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.19">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.20" name="Mapify" usagesInImports="/0/@compilationUnits.146/@imports.3" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.18/@bodyDeclarations.1/@body/@statements.0/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.20" content="/** &#xA; * &lt;p>This annotation causes collection fields to be converted into a map by selecting out a key field of your choosing.&lt;/p> &lt;p>The field must be of type {@code Map}. An instance of the Mapper will be created and used to extract a key from each value; this will become the key of the map. The actual value stored in the datastore will be a simple list of the map values.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.20">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="&lt;p>This annotation causes collection fields to be converted into a map by selecting"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="out a key field of your choosing.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="&lt;p>The field must be of type "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.20" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text=" Map"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text=". An instance of the Mapper will be created and"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="used to extract a key from each value; this will become the key of the map. The actual"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="value stored in the datastore will be a simple list of the map values.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.20" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.20">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.20">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.20">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.20" name="value">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.20" content="/** &#xA; * An instance of this class will be instantiated and used to extract the key from the value. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.20">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.20" text="An instance of this class will be instantiated and used to extract the key from the value. "/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.20">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.17"/>
+ <values>
+ <value xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.20" escapedValue="&quot;rawtypes&quot;"/>
+ </values>
+ </annotations>
+ <modifier/>
+ <type type="/0/@orphanTypes.48"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.21" name="Parent" usagesInImports="/0/@compilationUnits.143/@imports.9" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.5/@body/@statements.1/@elseStatement/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.21" content="/** &#xA; * &lt;p>When placed on an entity field of type Key, the key will be used as the parent ancestor for entity grouping.&lt;/p> &lt;p>This annotation can only be placed on a single Key field within each entity.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.21">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.21" text="&lt;p>When placed on an entity field of type Key, the key will be used as the parent"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.21" text="ancestor for entity grouping.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.21" text="&lt;p>This annotation can only be placed on a single Key field within each entity.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.21" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.21" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.21">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.21">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.21">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.22" name="Cache" usagesInImports="/0/@compilationUnits.110/@imports.7" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.5/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.6/@body/@statements.2/@expression/@rightHandSide/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.22" content="/** &#xA; * &lt;p>Place this on any POJO entity class to cause it to be cached in the memcache.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.22">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.22" text="&lt;p>Place this on any POJO entity class to cause it to be cached in the memcache.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.22" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.22" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.22">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.22">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.22">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.22" name="expirationSeconds">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.22" content="/** &#xA; * Number of seconds after which the cached copy should be expired; the default value (0) is &quot;keep as long as possible&quot;. This is not a guarantee; the memcache can be wiped at any time due to memory pressure or the whim of Google's operations team.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.22">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.22" text="Number of seconds after which the cached copy should be expired; the default value (0) is"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.22" text="&quot;keep as long as possible&quot;. This is not a guarantee; the memcache can be wiped at any"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.22" text="time due to memory pressure or the whim of Google's operations team."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:NumberLiteral" originalCompilationUnit="/0/@compilationUnits.22" tokenValue="0"/>
+ <type type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.23" name="Ignore" usagesInImports="/0/@compilationUnits.104/@imports.13" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.5/@body/@statements.0/@expression/@leftOperand/@operand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.23" content="/** &#xA; * &lt;p>Flags a field of a POJO entity that should be completely ignored by Objectify. It will not be saved and it will not be loaded. This is equivalent to the JPA @Transient annotation.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.23">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.23" text="&lt;p>Flags a field of a POJO entity that should be completely ignored by Objectify. It will not be saved"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.23" text="and it will not be loaded. This is equivalent to the JPA @Transient annotation.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.23" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.23" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.23">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.23">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.23">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.24" name="Translate" usagesInImports="/0/@compilationUnits.153/@imports.1" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.25/@bodyDeclarations.2/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.25/@bodyDeclarations.2/@body/@statements.0/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.24" content="/** &#xA; * &lt;p>Lets you define a particular translator for a specific property (field or @AlsoLoad method). The translator factory must produce a translator when handed the property on which this annotation is placed.&lt;/p> &lt;p>&quot;Early&quot; translator factories are executed before collection translator factories and therefore can manipulate the whole collection value. Late translator factories are only responsible for translating the contents of a collection.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.24">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="&lt;p>Lets you define a particular translator for a specific property (field or @AlsoLoad method)."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="The translator factory must produce a translator when handed the property on which this annotation"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="is placed.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="&lt;p>&quot;Early&quot; translator factories are executed before collection translator factories and therefore can manipulate"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="the whole collection value. Late translator factories are only responsible for translating the contents of"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="a collection.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.24" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.24">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.24">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.24">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.24" name="value">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.24" content="/** &#xA; * Factory class which will be applied to this field. It will be constructed with ObjectifyFactory.construct(). It must produce a Translator for the field.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.24">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="Factory class which will be applied to this field. It will be constructed with"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="ObjectifyFactory.construct(). It must produce a Translator for the field."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <type type="/0/@orphanTypes.51"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.24" name="early">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.24" content="/** &#xA; * If true, the factory will be placed early in the chain, before collection translators. This will let you explicitly translate collection fields rather than collection contents, which is the default.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.24">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="If true, the factory will be placed early in the chain, before collection translators. This"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="will let you explicitly translate collection fields rather than collection contents,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.24" text="which is the default."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.24"/>
+ <type type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.25" name="Serialize" usagesInImports="/0/@compilationUnits.140/@imports.15" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.1/@body/@statements.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.1/@body/@statements.1/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.25" content="/** &#xA; * &lt;p>When placed on an entity field, the field will be written as a single Blob property using java serialization. Can also be placed on a class to indicate that all fields of that type should be serialized.&lt;/p> &lt;ul> &lt;li>The field can contain an arbitrary object graph.&lt;/li> &lt;li>All classes in the graph must follow Java serialization rules (ie, implement Serializable).&lt;/li> &lt;li>You will not be able to use the field or any child fields in queries.&lt;/li> &lt;li>Within serialized classes, {@code transient} (the java keyword) fields will not be stored.{@code @Ignore} fields *will* be stored!&lt;/li>&lt;li> {@code @Serialize} collections &lt;em>can&lt;/em> be nested inside {@code @Embed} collections.&lt;/li>&lt;li>Java serialization is opaque to the datastore viewer and other languages (ie gae/python).&lt;/li> &lt;/ul> &lt;p>You are &lt;strong>strongly&lt;/strong> advised to place {@code serialVersionUID} on all classesthat you intend to store as {@code @Serialize}. Without this, &lt;strong>any&lt;/strong> change to your classes will prevent stored objects from being deserialized on fetch.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.25">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;p>When placed on an entity field, the field will be written as a single Blob"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="property using java serialization. Can also be placed on a class to indicate"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="that all fields of that type should be serialized.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>The field can contain an arbitrary object graph.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>All classes in the graph must follow Java serialization rules (ie, implement Serializable).&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>You will not be able to use the field or any child fields in queries.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>Within serialized classes, "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" transient"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" (the java keyword) fields will not be stored."/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" @Ignore"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" fields *will* be stored!&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" @Serialize"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" collections &lt;em>can&lt;/em> be nested inside "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" @Embed"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" collections.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;li>Java serialization is opaque to the datastore viewer and other languages (ie gae/python).&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;/ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="&lt;p>You are &lt;strong>strongly&lt;/strong> advised to place "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" serialVersionUID"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" on all classes"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="that you intend to store as "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.25" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" @Serialize"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=". Without this, &lt;strong>any&lt;/strong> change to your"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="classes will prevent stored objects from being deserialized on fetch.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.25" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.25">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.25">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.25">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.25" name="zip">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.25" content="/** &#xA; * If true, the data stream will be compressed on write using a DeflatorInputStream. This only affects writes; on read, Objectify will understand both compressed and uncompressed data. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.25">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="If true, the data stream will be compressed on write using a DeflatorInputStream. This only affects"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="writes; on read, Objectify will understand both compressed and uncompressed data. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.25"/>
+ <type type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.25" name="compressionLevel">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.25" content="/** &#xA; * If zip is true, sets the compression level of the Deflater.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.25">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.25" text="If zip is true, sets the compression level of the Deflater."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.0/@ownedElements.0/@bodyDeclarations.0/@fragments.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.0/@ownedElements.0"/>
+ </default>
+ <type type="/0/@orphanTypes.0"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.26" name="Id" usagesInImports="/0/@compilationUnits.143/@imports.8" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.5/@body/@statements.1/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.26" content="/** &#xA; * &lt;p>Place this annotation on a single Long, long, or String field of an entity POJO. This field defines the id of the entity, which is one part of the key. The entity itself is uniquely identified by its (optional) parent, kind (typically the class), and the id.&lt;/p> &lt;p>If your entity has a @Parent, the id will not be globally unique! Ids are only unique for a particular parent (and kind).&lt;/p> &#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.26">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text="&lt;p>Place this annotation on a single Long, long, or String field of an entity POJO. This field defines the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text="id of the entity, which is one part of the key. The entity itself is uniquely identified by its (optional)"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text="parent, kind (typically the class), and the id.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text="&lt;p>If your entity has a @Parent, the id will not be globally unique! Ids are only unique for a particular"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text="parent (and kind).&lt;/p> "/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.26" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.26" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.26">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.26">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.26">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.27" name="Index" usagesInImports="/0/@compilationUnits.121/@imports.4" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.4/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.5/@body/@statements.4/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.43/@bodyDeclarations.11/@body/@statements.0/@elseStatement/@elseStatement/@statements.0/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.27" content="/** &#xA; * &lt;p>This annotation controls whether or not fields are indexed in the datastore.&lt;/p> &lt;p>When placed on a simple field, the field will be indexed if possible. Text, Blob, and @Serialize fields cannot be indexed. If the field is an @Embed class or a collection of @Embed classes, the fields of those classes will be indexed as if the class had the @Index annotation.&lt;/p> &lt;p>When placed on an entity class or an embedded class, this sets the default for all fields to be indexed. It can be overridden by field level annotations.&lt;/p> &lt;p>If an embedded class field is annotated with @Index, any @Index or @Unindex annotation on the class itself is ignored.&lt;/p> &lt;p>If passed one or more classes that implement the {@code If} interface, thevalue will be indexed only if it tests positive for any of the conditions. This allows &quot;partial indexing&quot; of only some categories of values (ie, true but not false).&lt;/p>&#xA; * @author Scott Hernandez &lt;fullname@gmail)&#xA; * @author Jeff Schnitzer&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.27">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="&lt;p>This annotation controls whether or not fields are indexed in the datastore.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="&lt;p>When placed on a simple field, the field will be indexed if possible. Text,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="Blob, and @Serialize fields cannot be indexed. If the field is an @Embed"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="class or a collection of @Embed classes, the fields of those classes will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="be indexed as if the class had the @Index annotation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="&lt;p>When placed on an entity class or an embedded class, this sets the default"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="for all fields to be indexed. It can be overridden by field level annotations.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="&lt;p>If an embedded class field is annotated with @Index, any @Index or @Unindex"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="annotation on the class itself is ignored.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="&lt;p>If passed one or more classes that implement the "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.27" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text=" If"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text=" interface, the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="value will be indexed only if it tests positive for any of the conditions. This"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text="allows &quot;partial indexing&quot; of only some categories of values (ie, true but not false).&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.27" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text=" Scott Hernandez &lt;fullname@gmail)"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.27" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.27" text=" Jeff Schnitzer"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.27">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.27">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.27">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.27" name="value">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.27" content="// Fully specifying the default value works around a bizarre compiler bug:" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.27" content="// http://stackoverflow.com/questions/1425088/incompatible-types-found-required-default-enums-in-annotations" prefixOfParent="true"/>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.27">
+ <expressions xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.27">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3/@ownedElements.9">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.3">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0/@ownedPackages.0">
+ <qualifier package="/0/@ownedElements.0"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </type>
+ </expressions>
+ </default>
+ <type type="/0/@orphanTypes.46"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.28" name="Embed" usagesInImports="/0/@compilationUnits.131/@imports.2 /0/@compilationUnits.140/@imports.14" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.1/@expression/@leftOperand/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.12/@bodyDeclarations.1/@body/@statements.3/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.28" content="/** &#xA; * &lt;p>When placed on a type class, fields of that type will be broken down and stored in a dot-separated embedded format in the containing entity. Unlike serialization, the embedded data is not opaque to the datastore and CAN be indexed.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.28">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.28" text="&lt;p>When placed on a type class, fields of that type will be broken down and stored in a dot-separated"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.28" text="embedded format in the containing entity. Unlike serialization, the embedded"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.28" text="data is not opaque to the datastore and CAN be indexed.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.28" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.28" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.28">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.28">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.28">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.29" name="EmbedMap" usagesInImports="/0/@compilationUnits.154/@imports.4" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.26/@bodyDeclarations.1/@body/@statements.0/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.29" content="/** &#xA; * &lt;p>This annotation causes Map&lt;String, ?> fields to be stored as an embedded structure similar to how @Embed works; for a field 'someMap', the entity will contain 'someMap.key1', 'someMap.key2', etc.&lt;/p> &lt;p>The field must be of type {@code Map} with a key of String.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.29">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text="&lt;p>This annotation causes Map&lt;String, ?> fields to be stored as an embedded structure similar"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text="to how @Embed works; for a field 'someMap', the entity will contain 'someMap.key1', 'someMap.key2', etc.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text="&lt;p>The field must be of type "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.29" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text=" Map"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text=" with a key of String.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.29" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.29" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.29">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.29">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.29">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.30" name="Entity" usagesInImports="/0/@compilationUnits.91/@imports.5 /0/@compilationUnits.143/@imports.6 /0/@compilationUnits.14/@imports.2" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.7/@body/@statements.2/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.8/@body/@statements.2/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.4/@body/@statements.1/@expression/@leftOperand/@leftOperand/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.14/@bodyDeclarations.35/@body/@statements.0/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.30" content="/** &#xA; * &lt;p>This annotation must be placed on your entity POJOs. If you have a polymorphic hierarchy, the root should have @Entity and the subclasses should have @EntitySubclass.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.30">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.30" text="&lt;p>This annotation must be placed on your entity POJOs. If you have a polymorphic hierarchy,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.30" text="the root should have @Entity and the subclasses should have @EntitySubclass.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.30" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.30" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.30">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.30">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.30">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.30" name="name">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.30" content="/** &#xA; * Controls the actual kind name used in the datastore.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.30">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.30" text="Controls the actual kind name used in the datastore."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.30" escapedValue="&quot;&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.31" name="OnLoad" usagesInImports="/0/@compilationUnits.110/@imports.8" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.8/@body/@statements.2/@body/@statements.0/@expression/@rightOperand/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.32/@bodyDeclarations.8/@body/@statements.2/@body/@statements.0/@thenStatement/@statements.4/@expression/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.31" content="/** &#xA; * &lt;p>When placed on a method on a POJO entity, that method will be called just after being loaded from the datastore. Analogous to the JPA @PostLoad annotation.&lt;/p> &lt;p>The method can optionally receive one parameter, an Objectify instance.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.31">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.31" text="&lt;p>When placed on a method on a POJO entity, that method will be called just after being loaded from the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.31" text="datastore. Analogous to the JPA @PostLoad annotation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.31" text="&lt;p>The method can optionally receive one parameter, an Objectify instance.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.31" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.31" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.31">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.31">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.31">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.32" name="EntitySubclass" usagesInImports="/0/@compilationUnits.80/@imports.5 /0/@compilationUnits.91/@imports.6 /0/@compilationUnits.95/@imports.16 /0/@compilationUnits.143/@imports.7" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.2/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.2/@bodyDeclarations.4/@body/@statements.2/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.7/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.2/@bodyDeclarations.7/@body/@statements.0/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.7/@body/@statements.2/@elseStatement/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.13/@bodyDeclarations.8/@body/@statements.2/@elseStatement/@statements.1/@expression/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.2/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.17/@bodyDeclarations.13/@body/@statements.2/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.15/@bodyDeclarations.4/@body/@statements.1/@expression/@rightOperand/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.32" content="/** &#xA; * &lt;p>Indicates that a class is part of a polymorphic persistence hierarchy. Subclasses of an @Entity should be flagged with this annotation.&lt;/p> &lt;p>This is used for Objectify's implementation of polymorphism. Place this on any class in an inheritance hierarchy that should be queryable &lt;strong>except the root&lt;/strong>. For example, in the hierarchy Animal->Mammal->Cat, annotations should be:&lt;/p> &lt;ul> &lt;li>@Entity Animal&lt;/li> &lt;li>@EntitySubclass(index=true) Mammal&lt;/li> &lt;li>@EntitySubclass(index=true) Cat&lt;/li> &lt;/ul> &lt;p>The @Entity annotation must be present on the class that identifies the root of the hierarchy. This class will define the &lt;em>kind&lt;/em> of the entire hierarchy. The @Entity annotation must NOT be present on any subclasses.&lt;/p> &lt;p>Actual Java subclasses are not required to have @EntitySubclass, but only Java classes which have @EntitySubclass can be persisted and queried for. Note that subclass discriminators are not indexed by default, so if you want to query for specific types of subclasses, use @EntitySubclass(index=true).&lt;/p>&#xA; * @author Jeff Schnitzer&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.32">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>Indicates that a class is part of a polymorphic persistence hierarchy. Subclasses"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="of an @Entity should be flagged with this annotation.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>This is used for Objectify's implementation of polymorphism. Place this on any"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="class in an inheritance hierarchy that should be queryable &lt;strong>except the root&lt;/strong>."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="For example, in the hierarchy Animal->Mammal->Cat, annotations should be:&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;li>@Entity Animal&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;li>@EntitySubclass(index=true) Mammal&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;li>@EntitySubclass(index=true) Cat&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;/ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>The @Entity annotation must be present on the class that identifies the root of the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="hierarchy. This class will define the &lt;em>kind&lt;/em> of the entire hierarchy."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="The @Entity annotation must NOT be present on any subclasses.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>Actual Java subclasses are not required to have @EntitySubclass, but only Java classes"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="which have @EntitySubclass can be persisted and queried for. Note that subclass discriminators"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="are not indexed by default, so if you want to query for specific types of subclasses, use @EntitySubclass(index=true).&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.32" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text=" Jeff Schnitzer"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.32">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.32">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.32">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.2">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.32" name="name">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.32" content="/** &#xA; * Optionally define the discriminator value for the subclass; default is Class.getSimpleName() &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.32">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="Optionally define the discriminator value for the subclass; default is Class.getSimpleName() "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.32" escapedValue="&quot;&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.32" name="index">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.32" content="/** &#xA; * &lt;p>If true, the discriminator will be indexed, and a query for the specific subclass will return results. However, superclasses and further subclasses may be have different index states.&lt;/p> &lt;p>This is NOT the same as putting @Index on a class; that sets the default index state of the fields of that class. This attribute only controls indexing of the discriminator.&lt;/p>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.32">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>If true, the discriminator will be indexed, and a query for the specific subclass will"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="return results. However, superclasses and further subclasses may be have different index states.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="&lt;p>This is NOT the same as putting @Index on a class; that sets the default index state of the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="fields of that class. This attribute only controls indexing of the discriminator.&lt;/p>"/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.32"/>
+ <type type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.32" name="alsoLoad">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.32" content="/** &#xA; * Additional discriminators which, when encountered, will be interpreted as indicating this subclass. Facilitates schema changes in a way analagous to @AlsoLoad.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.32">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="Additional discriminators which, when encountered, will be interpreted as indicating"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.32" text="this subclass. Facilitates schema changes in a way analagous to @AlsoLoad."/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.32"/>
+ <type type="/0/@orphanTypes.52"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.33" name="IgnoreLoad" usagesInImports="/0/@compilationUnits.119/@imports.4" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.41/@bodyDeclarations.5/@body/@statements.3/@expression/@leftOperand/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.33" content="/** &#xA; * &lt;p>Flags a field of a POJO entity that should not be loaded by Objectify. It will still be saved, however.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.33">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.33" text="&lt;p>Flags a field of a POJO entity that should not be loaded by Objectify. It will still be saved,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.33" text="however.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.33" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.33" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.33">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.33">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.33">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.34" name="Load" usagesInImports="/0/@compilationUnits.89/@imports.2 /0/@compilationUnits.99/@imports.12 /0/@compilationUnits.119/@imports.5" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.11/@bodyDeclarations.0/@annotations.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.11/@bodyDeclarations.1/@body/@statements.0/@body/@statements.0/@expression/@rightHandSide/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.10/@body/@statements.1/@elseStatement/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.21/@bodyDeclarations.10/@body/@statements.1/@elseStatement/@statements.0/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.41/@bodyDeclarations.5/@body/@statements.7/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.41/@bodyDeclarations.5/@body/@statements.7/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.34" content="/** &#xA; * &lt;p>Placed on an entity field of type Ref&lt;?>, this will cause Objectify to fetch that entity when the containing entity is loaded.&lt;/p> &lt;p>If one or more Class values are passed in, these represent load groups. The entity will be fetched only if the load group is activated. The class can be any arbitrary class, and class inheritance is respected.&lt;/p> &lt;p>For example, for a class Foo extends Bar, specifying @Load(Bar.class) will cause a field to load if the Foo.class group is enabled.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.34">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="&lt;p>Placed on an entity field of type Ref&lt;?>, this will cause"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="Objectify to fetch that entity when the containing entity is loaded.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="&lt;p>If one or more Class values are passed in, these represent load groups. The entity"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="will be fetched only if the load group is activated. The class can be any arbitrary"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="class, and class inheritance is respected.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="&lt;p>For example, for a class Foo extends Bar, specifying @Load(Bar.class) will cause"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="a field to load if the Foo.class group is enabled.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.34" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.34">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.34">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.34">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.3">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.34" name="value">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.34" content="/** &#xA; * Groups which indicate the value should be loaded. Empty means &quot;always&quot;. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.34">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="Groups which indicate the value should be loaded. Empty means &quot;always&quot;. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.34"/>
+ <type type="/0/@orphanTypes.53"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.34" name="unless">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.34" content="/** &#xA; * Groups which negate loading. In case of conflict with value(), unless() wins. &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.34">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.34" text="Groups which negate loading. In case of conflict with value(), unless() wins. "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <default xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.34"/>
+ <type type="/0/@orphanTypes.53"/>
+ </bodyDeclarations>
+ </ownedElements>
+ <ownedElements xsi:type="java:AnnotationTypeDeclaration" originalCompilationUnit="/0/@compilationUnits.35" name="AlsoLoad" usagesInImports="/0/@compilationUnits.104/@imports.12 /0/@compilationUnits.119/@imports.3 /0/@compilationUnits.131/@imports.1" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.26/@bodyDeclarations.6/@body/@statements.0/@body/@expression/@leftOperand/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.41/@bodyDeclarations.5/@body/@statements.4/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedElements.41/@bodyDeclarations.5/@body/@statements.4/@fragments.0/@initializer/@arguments.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.3/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.4/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.0/@body/@statements.3/@body/@statements.0/@fragments.0/@initializer/@arguments.0/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.35" content="/** &#xA; * &lt;p>Annotation which helps migrate schemas by loading one of several possible properties in the entity into fields or methods. This is typically used when a field is renamed, allowing the field to be populated by both its current name and any prior names.&lt;/p> &lt;ul> &lt;li>When placed on a field, the additional names (entity properties) will be checked when this field is loaded. If the entity contains data for more than one of the names, an exception will be thrown. &lt;li>When placed on a parameter to a method that takes a single parameter, the method will be called with the data value. As with fields, any ambiguity in the data (multiple properties that would cause the method to be called) will produce an exception. However, {@code @AlsoLoad} on a method parameter *can* be used to override field names and &quot;steal&quot; thevalue that would otherwise have been set on a field. This can be useful when changing the type of a field.&lt;/li> &lt;/ul>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.35">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="&lt;p>Annotation which helps migrate schemas by loading one of several possible properties"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="in the entity into fields or methods. This is typically used when a field is renamed,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="allowing the field to be populated by both its current name and any prior names.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="&lt;li>When placed on a field, the additional names (entity properties) will be checked"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="when this field is loaded. If the entity contains data for more than one of the names,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="an exception will be thrown. "/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="&lt;li>When placed on a parameter to a method that takes a single parameter, the method"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="will be called with the data value. As with fields, any ambiguity in the data (multiple"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="properties that would cause the method to be called) will produce an exception. However,"/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.35" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text=" @AlsoLoad"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text=" on a method parameter *can* be used to override field names and &quot;steal&quot; the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="value that would otherwise have been set on a field. This can be useful when changing the"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="type of a field.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text="&lt;/ul>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.35" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.35" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.35">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.1"/>
+ <values>
+ <value xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2/@enumConstants.0">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.2"/>
+ </value>
+ </values>
+ </annotations>
+ <annotations originalCompilationUnit="/0/@compilationUnits.35">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.3"/>
+ <values>
+ <value xsi:type="java:ArrayInitializer" originalCompilationUnit="/0/@compilationUnits.35">
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.1">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ <expressions xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0/@enumConstants.3">
+ <qualifier xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.1/@ownedPackages.1/@ownedElements.0"/>
+ </expressions>
+ </value>
+ </values>
+ </annotations>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:AnnotationTypeMemberDeclaration" originalCompilationUnit="/0/@compilationUnits.35" name="value">
+ <modifier/>
+ <type type="/0/@orphanTypes.52"/>
+ </bodyDeclarations>
+ </ownedElements>
+ </ownedPackages>
+ <ownedPackages name="cache">
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="TriggerFuture" usagesInTypeAccess="/0/@orphanTypes.64/@type /0/@orphanTypes.117/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * &lt;p> A Future&lt;?> wrapper that executes an abstract method with the result at some point after the data becomes available. A &quot;best effort&quot; is made to ensure execution, but it may be left untriggered until the end of a request. &lt;/p> &lt;p> Notification will happen ONCE: &lt;/p> &lt;ul> &lt;li>After get() is called&lt;/li> &lt;li>When the future is done and isDone() is called&lt;/li> &lt;li>At the end of a request that has the AsyncCacheFilter enabled.&lt;/li> &lt;/ul> &lt;p>Use the AsyncCacheFilter for normal requests. For situations where a filter is not appropriate (ie, the remote api) be sure to call PendingFutures.completeAllPendingFutures() manually.&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="A Future&lt;?> wrapper that executes an abstract method with the result at some point after"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="the data becomes available. A &quot;best effort&quot; is made to ensure execution, but it may be"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="left untriggered until the end of a request."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="Notification will happen ONCE:"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;li>After get() is called&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;li>When the future is done and isDone() is called&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;li>At the end of a request that has the AsyncCacheFilter enabled.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;/ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="&lt;p>Use the AsyncCacheFilter for normal requests. For situations where a filter is not appropriate"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="(ie, the remote api) be sure to call PendingFutures.completeAllPendingFutures() manually.&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.36" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public" inheritance="abstract"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.36">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * Wrap the raw Future&lt;?> &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="Wrap the raw Future&lt;?> "/>
+ </tags>
+ </comments>
+ <modifier visibility="protected"/>
+ <type type="/0/@orphanTypes.54"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.36" name="raw" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.5/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.0/@fragments.0/@initializer/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.7/@body/@statements.0/@body/@statements.0/@expression/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@body/@statements.0/@body/@statements.0/@expression/@expression/@field"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.36">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * If we have run the trigger() method already &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="If we have run the trigger() method already "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.36" name="triggered" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.1/@expression/@leftOperand/@operand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.1/@thenStatement/@statements.0/@expression/@leftHandSide/@field">
+ <initializer xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="TriggerFuture" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.1/@body/@statements.0">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * Wrap a normal Future&lt;?> &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="Wrap a normal Future&lt;?> "/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.36">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.2/@parameters.0"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.36" content="// We now need to register ourself so that we'll get checked at future API calls" prefixOfParent="true"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.4/@bodyDeclarations.1">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.4"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.36" name="raw" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.2/@body/@statements.0/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@orphanTypes.54"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="trigger" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.1/@thenStatement/@statements.2/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * This method will be called ONCE upon completion of the future, successful or not. Beware that this.get() may throw an exception.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="This method will be called ONCE upon completion of the future, successful or not."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="Beware that this.get() may throw an exception."/>
+ </tags>
+ </comments>
+ <modifier visibility="protected" inheritance="abstract"/>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="cancel">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.36" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see java.util.concurrent.Future#cancel(boolean)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.36" content="//return this.raw.cancel(mayInterruptIfRunning);" prefixOfParent="true"/>
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.19/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.36" escapedValue="&quot;This makes my head spin. Don't do it.&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.19"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.36" name="mayInterruptIfRunning">
+ <modifier/>
+ <type type="/0/@orphanTypes.4"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="isCancelled">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.36" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see java.util.concurrent.Future#isCancelled()&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.0">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="isDone" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.7/@body/@statements.0/@finally/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@body/@statements.0/@finally/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.36" content="/** &#xA; * This version also checks to see if we are done and we still need to call the trigger. If so, it calls it.&#xA; * @see java.util.concurrent.Future#isDone()&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.36">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="This version also checks to see if we are done and we still need to call the trigger."/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.36" text="If so, it calls it."/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.36" tagName="@see">
+ <fragments xsi:type="java:MethodRef" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.1">
+ <qualifier type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1">
+ <qualifier xsi:type="java:PackageAccess" package="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1">
+ <qualifier package="/0/@ownedElements.1/@ownedPackages.2">
+ <qualifier package="/0/@ownedElements.1"/>
+ </qualifier>
+ </qualifier>
+ </qualifier>
+ </fragments>
+ </tags>
+ </comments>
+ <annotations originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@orphanTypes.4"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.36" name="done" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.1/@expression/@rightOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.2/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.1">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.36" operator="&amp;&amp;">
+ <rightOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.0/@fragments.0"/>
+ <leftOperand xsi:type="java:PrefixExpression" originalCompilationUnit="/0/@compilationUnits.36" operator="!">
+ <operand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.1/@fragments.0"/>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:Block" originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.36">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.1/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:BooleanLiteral" originalCompilationUnit="/0/@compilationUnits.36" value="true"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.4/@bodyDeclarations.2">
+ <arguments xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.4"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.3">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </statements>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6/@body/@statements.0/@fragments.0"/>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.4"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="get" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.3/@bodyDeclarations.3/@body/@statements.0/@body/@statements.0/@expression/@arguments.0">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.36" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see java.util.concurrent.Future#get()&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:TryStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.2">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <finally originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </statements>
+ </finally>
+ </statements>
+ </body>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.20"/>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.0"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@typeParameters.0"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.36" name="get">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.36" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see java.util.concurrent.Future#get(long, java.util.concurrent.TimeUnit)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.36">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:TryStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <body originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.3">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@parameters.1"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.36">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.0/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <finally originalCompilationUnit="/0/@compilationUnits.36">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.36">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.36" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.6">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.36"/>
+ </expression>
+ </statements>
+ </finally>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.36" name="timeout" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@body/@statements.0/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.36" name="unit" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@body/@statements.0/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.2"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.20"/>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.0"/>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.1/@ownedElements.3"/>
+ <returnType type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@typeParameters.0"/>
+ </bodyDeclarations>
+ <superInterfaces type="/0/@orphanTypes.54"/>
+ <typeParameters originalCompilationUnit="/0/@compilationUnits.36" name="T" usagesInTypeAccess="/0/@orphanTypes.54/@typeArguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.7/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.0/@bodyDeclarations.8/@returnType"/>
+ </ownedElements>
+ <ownedElements xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="CachingAsyncDatastoreService" usagesInImports="/0/@compilationUnits.12/@imports.16" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.11/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.12/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.12/@body/@statements.1/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.13/@body/@statements.0/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.14/@returnType /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.2/@bodyDeclarations.14/@body/@statements.1/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.2/@parameters.1/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedElements.12/@bodyDeclarations.12/@body/@statements.1/@thenStatement/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.0/@fragments.0/@initializer/@arguments.0/@expression/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; * &lt;p>A write-through memcache for Entity objects that works for both transactional and nontransactional sessions.&lt;/p> &lt;ul> &lt;li>Caches negative results as well as positive results.&lt;/li> &lt;li>Queries do not affect the cache in any way.&lt;/li> &lt;li>Transactional reads bypass the cache, but successful transaction commits will update the cache.&lt;/li> &lt;li>This cache has near-transactional integrity. As long as DeadlineExceededException is not hit, cache should not go out of sync even under heavy contention.&lt;/li> &lt;/ul> &lt;p>Note: Until Google adds a hook that lets us wrap native Future&lt;?> implementations, you muse install the {@code AsyncCacheFilter} to use this cache asynchronously. Thisis not necessary for synchronous use of {@code CachingDatastoreService}, but asynchronous operation requires an extra hook for the end of a request when fired-and-forgotten put()s and delete()s get processed. &lt;strong>If you use this cache asynchronously, and you do not use the {@code AsyncCacheFilter}, your cache will go out of sync.&lt;/strong>&lt;/p>&#xA; * @author Jeff Schnitzer &lt;jeff@infohazard.org>&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.37">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;p>A write-through memcache for Entity objects that works for both transactional"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="and nontransactional sessions.&lt;/p>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;li>Caches negative results as well as positive results.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;li>Queries do not affect the cache in any way.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;li>Transactional reads bypass the cache, but successful transaction commits will update the cache.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;li>This cache has near-transactional integrity. As long as DeadlineExceededException is not hit, cache should"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="not go out of sync even under heavy contention.&lt;/li>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;/ul>"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="&lt;p>Note: Until Google adds a hook that lets us wrap native Future&lt;?> implementations,"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="you muse install the "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.37" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=" AsyncCacheFilter"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=" to use this cache asynchronously. This"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="is not necessary for synchronous use of "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.37" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=" CachingDatastoreService"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=", but asynchronous"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="operation requires an extra hook for the end of a request when fired-and-forgotten put()s"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="and delete()s get processed. &lt;strong>If you use this cache asynchronously, and you do not"/>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="use the "/>
+ <fragments xsi:type="java:TagElement" originalCompilationUnit="/0/@compilationUnits.37" tagName="@code">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=" AsyncCacheFilter"/>
+ </fragments>
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=", your cache will go out of sync.&lt;/strong>&lt;/p>"/>
+ </tags>
+ <tags originalCompilationUnit="/0/@compilationUnits.37" tagName="@author">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text=" Jeff Schnitzer &lt;jeff@infohazard.org>"/>
+ </tags>
+ </comments>
+ <modifier visibility="public"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.37">
+ <modifier visibility="private" inheritance="final" static="true"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.2/@ownedElements.1"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="log" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.26/@body/@statements.4/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@catchClauses.0/@body/@statements.1/@thenStatement/@expression/@expression">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.2/@ownedElements.1/@bodyDeclarations.0">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.11/@bodyDeclarations.3">
+ <expression xsi:type="java:TypeLiteral" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1"/>
+ </expression>
+ </arguments>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.2/@ownedPackages.2/@ownedElements.1"/>
+ </initializer>
+ </fragments>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.37">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; * The real datastore service objects - we need both &#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.37">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="The real datastore service objects - we need both "/>
+ </tags>
+ </comments>
+ <modifier/>
+ <type type="/0/@unresolvedItems.37"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="rawAsync"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.37">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="memcache" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.3/@body/@statements.1/@expression/@leftHandSide/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.2/@body/@statements.0/@thenStatement/@expression/@rightHandSide/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.0/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@elseStatement/@statements.0/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.0/@fragments.0/@initializer/@expression/@field /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.5/@thenStatement/@statements.1/@expression/@rightHandSide/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.26/@body/@statements.4/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.2/@elseStatement/@statements.0/@expression/@expression"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="CachingAsyncDatastoreService">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; */&#xA;" prefixOfParent="true"/>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.37">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.82"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.37">
+ <leftHandSide xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.2/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </leftHandSide>
+ <rightHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.3/@parameters.1"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="rawAsync">
+ <modifier/>
+ <type type="/0/@unresolvedItems.37"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="memcache" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.3/@body/@statements.1/@expression/@rightHandSide">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="allocateIds">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#allocateIds(java.lang.String, long)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.52">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.4/@parameters.0"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.4/@parameters.1"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.0">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="num" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.4/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.55"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="allocateIds">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#allocateIds(com.google.appengine.api.datastore.Key, java.lang.String, long)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.52">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.84"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.5/@parameters.1"/>
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.5/@parameters.2"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="parent">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="kind" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.1">
+ <modifier/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.4"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="num" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.5/@body/@statements.0/@expression/@arguments.2">
+ <modifier/>
+ <type type="/0/@orphanTypes.1"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.56"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ClassDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="TransactionFutureWrapper" usagesInTypeAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.7/@body/@statements.0/@expression/@type /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.8/@body/@statements.0/@expression/@type">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; * Need this for beingTransaction()&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.37">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="Need this for beingTransaction()"/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <bodyDeclarations xsi:type="java:FieldDeclaration" originalCompilationUnit="/0/@compilationUnits.37">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="xact" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.2/@body/@statements.0/@expression/@leftOperand /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.2/@body/@statements.0/@thenStatement/@expression/@leftHandSide /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.2/@body/@statements.1/@expression"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="TransactionFutureWrapper">
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:SuperConstructorInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.87">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.86"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="base">
+ <modifier/>
+ <type type="/0/@orphanTypes.58"/>
+ </parameters>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="wrap">
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <leftOperand xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.0/@fragments.0"/>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:Assignment" originalCompilationUnit="/0/@compilationUnits.37">
+ <leftHandSide xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.0/@fragments.0"/>
+ <rightHandSide xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.89">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.2/@fragments.0"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.88"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5"/>
+ </rightHandSide>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6/@bodyDeclarations.0/@fragments.0"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="t">
+ <modifier/>
+ <type type="/0/@unresolvedItems.21"/>
+ </parameters>
+ <returnType type="/0/@unresolvedItems.21"/>
+ </bodyDeclarations>
+ <superClass type="/0/@orphanTypes.57"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="beginTransaction">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#beginTransaction()&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.91">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.90">
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </arguments>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6"/>
+ </expression>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.59"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="beginTransaction">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#beginTransaction(com.google.appengine.api.datastore.TransactionOptions)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.94">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.90">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.93"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </arguments>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.6"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="options">
+ <modifier/>
+ <type type="/0/@unresolvedItems.92"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.60"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="checkForImplicitTransaction" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.10/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.11/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.14/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.15/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.21/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.23/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.24/@body/@statements.0/@expression">
+ <comments xsi:type="java:Javadoc" originalCompilationUnit="/0/@compilationUnits.37" content="/** &#xA; * We don't allow implicit transactions, so throw an exception if the user is trying to use one.&#xA; */&#xA;" prefixOfParent="true">
+ <tags originalCompilationUnit="/0/@compilationUnits.37">
+ <fragments xsi:type="java:TextElement" originalCompilationUnit="/0/@compilationUnits.37" text="We don't allow implicit transactions, so throw an exception if the user is trying to use one."/>
+ </tags>
+ </comments>
+ <modifier visibility="private"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <leftOperand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.95">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </leftOperand>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.19/@bodyDeclarations.0">
+ <arguments xsi:type="java:StringLiteral" originalCompilationUnit="/0/@compilationUnits.37" escapedValue="&quot;Implicit, thread-local transactions are not supported by the cache. You must pass in an transaction (or null) explicitly.&quot;"/>
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.19"/>
+ </expression>
+ </thenStatement>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="delete">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#delete(com.google.appengine.api.datastore.Key[])&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.9">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.96">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="keys" varargs="true">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.61"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="delete">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#delete(java.lang.Iterable)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.9">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.96">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="keys">
+ <modifier/>
+ <type type="/0/@orphanTypes.62"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.61"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="delete">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#delete(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key[])&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.96">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.22/@bodyDeclarations.0">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.22"/>
+ </arguments>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="txn">
+ <modifier/>
+ <type type="/0/@unresolvedItems.21"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="keys" varargs="true">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.61"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="delete">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#delete(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.37" content="// Always trigger, even on failure - the delete might have succeeded even though a timeout" prefixOfParent="true"/>
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.37" content="// exception was thrown. We will always be safe emptying the key from the cache." prefixOfParent="true"/>
+ <type type="/0/@orphanTypes.61"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="future" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.1/@thenStatement/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.2/@expression">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.0/@fragments.0/@initializer/@anonymousClassDeclaration/@bodyDeclarations.1">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.96">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </arguments>
+ <anonymousClassDeclaration originalCompilationUnit="/0/@compilationUnits.37">
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="trigger">
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ </expression>
+ <thenStatement xsi:type="java:Block" originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:EnhancedForStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <body xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.100">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.62"/>
+ <expression xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5"/>
+ </expression>
+ </expression>
+ </expression>
+ </body>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <parameter originalCompilationUnit="/0/@compilationUnits.37" name="key">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameter>
+ </statements>
+ </thenStatement>
+ <elseStatement xsi:type="java:Block" originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.101">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.2/@fragments.0"/>
+ </expression>
+ </statements>
+ </elseStatement>
+ </statements>
+ </body>
+ <returnType type="/0/@orphanTypes.5"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" name="" proxy="true" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.0/@fragments.0/@initializer"/>
+ </anonymousClassDeclaration>
+ <type type="/0/@orphanTypes.64"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InstanceofExpression" originalCompilationUnit="/0/@compilationUnits.37">
+ <rightOperand type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5/@bodyDeclarations.7">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.0/@fragments.0"/>
+ <expression xsi:type="java:ParenthesizedExpression" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:CastExpression" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.5"/>
+ </expression>
+ </expression>
+ </expression>
+ </thenStatement>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.13/@body/@statements.0/@fragments.0"/>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="txn">
+ <modifier inheritance="final"/>
+ <type type="/0/@unresolvedItems.21"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="keys">
+ <modifier inheritance="final"/>
+ <type type="/0/@orphanTypes.63"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.61"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="get">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#get(com.google.appengine.api.datastore.Key)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.9">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.102">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.62"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="key">
+ <modifier/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.65"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="get">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#get(java.lang.Iterable)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.9">
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.102">
+ <arguments xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="keys">
+ <modifier/>
+ <type type="/0/@orphanTypes.68"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.67"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="get">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#get(com.google.appengine.api.datastore.Transaction, com.google.appengine.api.datastore.Key)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@orphanTypes.71"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="bulk">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.102">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.23/@bodyDeclarations.0">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.62"/>
+ <expression xsi:type="java:TypeAccess" type="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.23"/>
+ </arguments>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.16/@body/@statements.1/@expression/@anonymousClassDeclaration/@bodyDeclarations.1">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.104"/>
+ <anonymousClassDeclaration originalCompilationUnit="/0/@compilationUnits.37">
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="wrap">
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="protected"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@unresolvedItems.13"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="ent">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.102">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.62"/>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.105"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="==">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.106"/>
+ </expression>
+ <thenStatement xsi:type="java:ThrowStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.10/@bodyDeclarations.1">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.62"/>
+ <type type="/0/@unresolvedItems.107"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.106"/>
+ </elseStatement>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="entities">
+ <modifier/>
+ <type type="/0/@orphanTypes.74"/>
+ </parameters>
+ <thrownExceptions type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.0"/>
+ <returnType type="/0/@unresolvedItems.13"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:ConstructorDeclaration" name="" proxy="true" usages="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.16/@body/@statements.1/@expression"/>
+ </anonymousClassDeclaration>
+ <type type="/0/@orphanTypes.73"/>
+ </expression>
+ </statements>
+ </body>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="txn">
+ <modifier/>
+ <type type="/0/@unresolvedItems.21"/>
+ </parameters>
+ <parameters originalCompilationUnit="/0/@compilationUnits.37" name="key">
+ <modifier inheritance="final"/>
+ <type type="/0/@unresolvedItems.29"/>
+ </parameters>
+ <returnType type="/0/@orphanTypes.69"/>
+ </bodyDeclarations>
+ <bodyDeclarations xsi:type="java:MethodDeclaration" originalCompilationUnit="/0/@compilationUnits.37" name="get">
+ <comments xsi:type="java:BlockComment" originalCompilationUnit="/0/@compilationUnits.37" content="/* (non-Javadoc)&#xD;&#xA;&#x9; * @see com.google.appengine.api.datastore.AsyncDatastoreService#get(com.google.appengine.api.datastore.Transaction, java.lang.Iterable)&#xD;&#xA;&#x9; */" prefixOfParent="true"/>
+ <annotations originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@ownedElements.1/@ownedPackages.1/@ownedElements.2"/>
+ </annotations>
+ <modifier visibility="public"/>
+ <body originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:InfixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="!=">
+ <rightOperand xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ <leftOperand xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ </expression>
+ <thenStatement xsi:type="java:Block" originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:ReturnStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.37" content="// Must not populate the cache since we are looking at a frozen moment in time." prefixOfParent="true"/>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.102">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.99"/>
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@unresolvedItems.82"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </expression>
+ </statements>
+ </thenStatement>
+ <elseStatement xsi:type="java:Block" originalCompilationUnit="/0/@compilationUnits.37">
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@orphanTypes.78"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="soFar">
+ <initializer xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.108">
+ <arguments xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.97"/>
+ <expression xsi:type="java:FieldAccess" originalCompilationUnit="/0/@compilationUnits.37">
+ <field variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.2/@fragments.0"/>
+ <expression xsi:type="java:ThisExpression" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </expression>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@orphanTypes.79"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="uncached" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@thenStatement/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.5/@expression/@operand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.5/@thenStatement/@statements.0/@fragments.0/@initializer/@arguments.1/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.5/@thenStatement/@statements.1/@expression/@rightHandSide/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.5/@thenStatement/@statements.1/@expression/@rightHandSide/@anonymousClassDeclaration/@bodyDeclarations.0/@body/@statements.1/@expression/@arguments.0">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.6/@bodyDeclarations.1">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.110">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.109"/>
+ </arguments>
+ <type type="/0/@orphanTypes.80"/>
+ </initializer>
+ </fragments>
+ <modifier inheritance="final"/>
+ </statements>
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <type type="/0/@orphanTypes.81"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="cached">
+ <initializer xsi:type="java:ClassInstanceCreation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.112">
+ <type type="/0/@orphanTypes.82"/>
+ </initializer>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:EnhancedForStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <body xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13/@bodyDeclarations.1/@bodyDeclarations.8">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@parameter"/>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.1/@ownedPackages.2/@ownedElements.8/@bodyDeclarations.0">
+ <arguments xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@parameter"/>
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.1/@fragments.0"/>
+ </expression>
+ </thenStatement>
+ <elseStatement xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:PrefixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="!">
+ <operand xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13/@bodyDeclarations.1/@bodyDeclarations.7">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@parameter"/>
+ </operand>
+ </expression>
+ <thenStatement xsi:type="java:ExpressionStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.115">
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.15">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@parameter"/>
+ </arguments>
+ <arguments xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.116">
+ <expression xsi:type="java:SingleVariableAccess" variable="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@parameter"/>
+ </arguments>
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.114"/>
+ </expression>
+ </thenStatement>
+ </elseStatement>
+ </body>
+ <expression xsi:type="java:MethodInvocation" originalCompilationUnit="/0/@compilationUnits.37" method="/0/@unresolvedItems.113">
+ <expression xsi:type="java:UnresolvedItemAccess" element="/0/@unresolvedItems.109"/>
+ </expression>
+ <parameter originalCompilationUnit="/0/@compilationUnits.37" name="buck" usageInVariableAccess="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@expression/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@thenStatement/@expression/@arguments.0 /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@elseStatement/@expression/@operand/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@elseStatement/@thenStatement/@expression/@arguments.0/@expression /0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.1/@bodyDeclarations.17/@body/@statements.0/@elseStatement/@statements.3/@body/@elseStatement/@thenStatement/@expression/@arguments.1/@expression">
+ <modifier/>
+ <type type="/0/@ownedElements.0/@ownedPackages.0/@ownedPackages.0/@ownedPackages.1/@ownedElements.13/@bodyDeclarations.1"/>
+ </parameter>
+ </statements>
+ <statements xsi:type="java:VariableDeclarationStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <comments xsi:type="java:LineComment" originalCompilationUnit="/0/@compilationUnits.37" content="// Maybe we need to fetch some more" prefixOfParent="true"/>
+ <type type="/0/@orphanTypes.84"/>
+ <fragments originalCompilationUnit="/0/@compilationUnits.37" name="pending">
+ <initializer xsi:type="java:NullLiteral" originalCompilationUnit="/0/@compilationUnits.37"/>
+ </fragments>
+ <modifier/>
+ </statements>
+ <statements xsi:type="java:IfStatement" originalCompilationUnit="/0/@compilationUnits.37">
+ <expression xsi:type="java:PrefixExpression" originalCompilationUnit="/0/@compilationUnits.37" operator="!">
+ <operand xsi:type="java:MethodInvocation" originalCompilationU