瀏覽代碼

Added dependancy manager to ant.

Thomas Flucke 7 年之前
父節點
當前提交
6ce23308c4
共有 100 個文件被更改,包括 28424 次插入399 次删除
  1. 56 319
      build.xml
  2. 0 80
      defs/sql/postgres/create.sql
  3. 0 0
      environment/development/README.txt
  4. 0 0
      environment/development/env.properties
  5. 0 0
      environment/development/log4j.properties
  6. 924 0
      hyperjaxb2-build/src/main/resources/binding.xjb
  7. 202 0
      hyperjaxb2-build/src/main/resources/core.xsd
  8. 186 0
      hyperjaxb2-build/src/main/resources/ui.xsd
  9. 18 0
      hyperjaxb2-build/target/generated-sources/xjc/RoundtripTest.java
  10. 25 0
      hyperjaxb2-build/target/generated-sources/xjc/hibernate.cfg.xml
  11. 114 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/AdvancedSearchCriteria.java
  12. 27 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Base.hbm.xml
  13. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Base.java
  14. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Course.hbm.xml
  15. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Course.java
  16. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Difficulty.hbm.xml
  17. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Difficulty.java
  18. 26 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Edit.java
  19. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ethnicity.hbm.xml
  20. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ethnicity.java
  21. 33 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ingredient.hbm.xml
  22. 88 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ingredient.java
  23. 45 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Meal.hbm.xml
  24. 112 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Meal.java
  25. 40 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/MealRecipe.hbm.xml
  26. 94 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/MealRecipe.java
  27. 585 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/ObjectFactory.java
  28. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/PrepTime.hbm.xml
  29. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/PrepTime.java
  30. 175 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Recipe.hbm.xml
  31. 455 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Recipe.java
  32. 38 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeComment.hbm.xml
  33. 104 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeComment.java
  34. 57 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeIngredient.hbm.xml
  35. 145 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeIngredient.java
  36. 36 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeRating.hbm.xml
  37. 99 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeRating.java
  38. 137 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeSearchCriteria.java
  39. 26 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeStep.hbm.xml
  40. 59 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeStep.java
  41. 35 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelatedRecipe.hbm.xml
  42. 81 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelatedRecipe.java
  43. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelationKind.hbm.xml
  44. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelationKind.java
  45. 26 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/SearchResults.java
  46. 26 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/SessionData.java
  47. 28 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/System.hbm.xml
  48. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/System.java
  49. 26 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ui.java
  50. 48 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiBase.java
  51. 311 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiData.java
  52. 173 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiEdit.java
  53. 136 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiIndex.java
  54. 31 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiIngredientMatch.java
  55. 55 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiMetaSupport.java
  56. 87 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiPaginationSupport.java
  57. 66 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiParameter.java
  58. 31 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiRecipeMatch.java
  59. 219 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiSearchResults.java
  60. 63 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiSessionData.java
  61. 31 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiUserMatch.java
  62. 57 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Unit.hbm.xml
  63. 156 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Unit.java
  64. 67 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/User.hbm.xml
  65. 221 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/User.java
  66. 二進制
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/bgm.ser
  67. 700 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/AdvancedSearchCriteriaImpl.java
  68. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/BaseImpl.java
  69. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/CourseImpl.java
  70. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/DifficultyImpl.java
  71. 494 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/EditImpl.java
  72. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/EthnicityImpl.java
  73. 459 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/IngredientImpl.java
  74. 15 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/JAXBVersion.java
  75. 767 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/MealImpl.java
  76. 580 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/MealRecipeImpl.java
  77. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/PrepTimeImpl.java
  78. 557 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeCommentImpl.java
  79. 2581 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeImpl.java
  80. 1078 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeIngredientImpl.java
  81. 618 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeRatingImpl.java
  82. 798 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeSearchCriteriaImpl.java
  83. 242 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeStepImpl.java
  84. 473 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RelatedRecipeImpl.java
  85. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RelationKindImpl.java
  86. 471 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SearchResultsImpl.java
  87. 316 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SessionDataImpl.java
  88. 360 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SystemImpl.java
  89. 296 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiBaseImpl.java
  90. 1948 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiDataImpl.java
  91. 1368 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiEditImpl.java
  92. 528 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiImpl.java
  93. 867 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiIndexImpl.java
  94. 314 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiIngredientMatchImpl.java
  95. 328 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiMetaSupportImpl.java
  96. 538 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiPaginationSupportImpl.java
  97. 326 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiParameterImpl.java
  98. 661 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiRecipeMatchImpl.java
  99. 1519 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiSearchResultsImpl.java
  100. 580 0
      hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiSessionDataImpl.java

+ 56 - 319
build.xml

@@ -1,63 +1,47 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
-<project basedir="." default="help">
+<project basedir="." default="war" xmlns:ivy="antlib:org.apache.ivy.ant">
 
 	<property file="build.properties" />
+	<property name="build.version" value="1.1.17"/>
 
 	<property name="dir.base" value="."/>
 	<property name="dir.source" value="src"/>
 	<property name="dir.schema" value="defs/schema"/>
-	<property name="dir.build" value="build/ant" />
-	<property name="dir.build.cvs" value="build/cvs"/>
+	<property name="dir.build" value="build/" />
 	<property name="hibernate.properties" value="${dir.schema}/hibernate.properties"/>
 	<property name="dir.generated" value="${dir.build}/generated/src" />
 	<property name="dir.compile.dest.domain" value="${dir.build}/generated/classes"/>
 	<property name="dir.hibernate.mapping" value="defs/schema/hbm"/>
 	<property name="dir.database" value="defs/sql"/>
 	<property name="dir.dist" value="dist"/>
+	<property name="dir.deps" value="lib"/>
 	<property name="dir.lib" value="lib"/>
 	<property name="dir.web" value="web"/>
 	<property name="dir.web.lib" value="${dir.web}/WEB-INF/lib"/>
 	
-	<property name="compile.debug" value="true" />
-	<property name="compile.deprecation" value="false" />
+	<property name="env.src" value="development" />
+	<property name="dir.env" value="environment"/>
+	<property name="dir.env.src" value="${dir.env}/${env.src}"/>
+	<property name="dir.env.src.defaults" value="${dir.env}/example"/>
+
+    <property name="compile.debug" value="true" />
+	<property name="compile.deprecation" value="true" />
 	<property name="compile.optimize" value="true" />
 	<property name="compile.nowarn" value="true" />
-	
-	<property name="build.version" value="1.1.17"/>
+	<property name="compile.nowarn" value="true" />
 
 	<property name="app.name" value="ieat" />
 	<property name="app.path" value="/${app.name}" />
 	<property name="app.home" value="/data/projects/ieat/web"/>
 	<property name="app.home.backup" value="${app.home}.bak"/>
 	
-	<property name="env.src" value="example" />
-	<property name="dir.env" value="environment"/>
-	<property name="dir.env.src" value="${dir.env}/${env.src}"/>
-	<property name="dir.env.src.defaults" value="${dir.env}/example"/>
-
-	<property name="cvs.root" value="/data/cvs"/>
-	<property name="cvs.compressionlevel" value="6" />
-	<property name="cvs.module.name" value="ieatdb"/>
-	
-	<path id="path.svn">
-		<fileset dir="${dir.lib}/svn" includes="*.jar"/>
-	</path>
-	
-	<taskdef resource="svntask.properties" classpathref="path.svn"/>
-	<property name="svn.tag" value="1.0"/>
-	<property name="svn.path" value="/tags/${svn.tag}"/>
-	<property name="svn.url" 
-		value="https://ieat.svn.sourceforge.net/svnroot/ieat/ieat${svn.path}"/>
-	<property name="svn.username" value=""/>
-	<property name="svn.password" value=""/>
-	<property name="svn.revision" value="HEAD"/>
-	<property name="svn.dir.build" value="${dir.build}/svn"/>
-	<property name="svn.env.src" value="example"/>
-	
+    <available file="${user.home}/.ant/lib/ivy.jar" property="ivy.installed"/>
+    
 	<tstamp>
 		<format property="build.time" pattern="MM/dd/yyyy hh:mm aa z" />
 	</tstamp>
+
 	<property name="version.properties" value="version.properties" />
 	<property name="version.txt.name" value="version.txt" />
 		
@@ -67,6 +51,7 @@
 	
 	<path id="jaxb.lib.path">
 		<fileset dir="${dir.web.lib}" includes="*.jar"/>
+		<fileset dir="${dir.deps}" includes="*.jar"/>
 		<fileset dir="${dir.lib}" includes="**/*.jar"/>
 	</path>
   
@@ -87,19 +72,42 @@
 		<pathelement location="${dir.build}/${app.name}/WEB-INF/classes"/>
 		<fileset dir="${dir.web.lib}" includes="*.jar"/>
 		<fileset dir="${dir.lib}" includes="**/*.jar"/>
+		<fileset dir="${dir.deps}" includes="*.jar"/>
 	</path>
-	
+	<target name="help" description="Display build help">
+		<echo>iEat v${build.version}</echo>
+		<echo>To see list of targets, use ant -p</echo>
+	</target>
+
 	<target name="init">
 		<mkdir dir="${dir.build}" />
 		<mkdir dir="${dir.dist}" />
 		<mkdir dir="${dir.generated}" />
 	</target>
 
-	<target name="check-has-env">
-		<available file="${dir.env}" type="dir" property="has.env" />
-	</target>
-	
-	<target name="compile.domain" description="Compile the JAXB classes">
+    <target name="ivy" unless="ivy.installed">
+      <mkdir dir="${user.home}/.ant/lib"/>
+      <get dest="${user.home}/.ant/lib/ivy.jar" src="http://search.maven.org/remotecontent?filepath=org/apache/ivy/ivy/2.3.0/ivy-2.3.0.jar"/>
+      <fail message="Ivy has been installed. Run the build again"/>
+    </target>
+
+    <target name="resolve-dependencies" depends="ivy" description="Use ivy to resolve dependencies">
+      <ivy:cachepath pathid="dir.deps">
+        <dependency org="org.springframework" name="spring-web" rev="1.2.8" />
+        <dependency org="org.springframework" name="spring-mock" rev="1.2.8"/>
+        <dependency org="jmock" name="jmock" rev="1.0.1"/>
+        <dependency org="com.sun.xml.bind" name="jaxb-xjc" rev="1.0.6"/>
+        <dependency org="org.apache.lucene" name="lucene-core" rev="2.2.0"/>
+        <dependency org="concurrent" name="concurrent" rev="1.3.4"/>
+        <dependency org="org.apache.derby" name="derbytools" rev="10.1.3.1"/>
+        <dependency org="org.apache.derby" name="derby" rev="10.1.3.1"/>
+        <!-- Outdated dependancies -->
+        <dependency org="javax.faces" name="jsf-api" rev="1.1_02"/>
+        <dependency org="javax.transaction" name="jta" rev="1.1"/>
+      </ivy:cachepath>
+    </target>
+		
+	<target name="compile.domain" depends="resolve-dependencies,generate.domain" description="Compile the JAXB classes">
 		<delete dir="${dir.compile.dest.domain}" failonerror="no"/>
 		<mkdir dir="${dir.compile.dest.domain}"/>
 		<javac srcdir="${dir.generated}"
@@ -108,8 +116,8 @@
 				deprecation="${compile.deprecation}" 
 				optimize="${compile.optimize}" 
 				nowarn="${compile.nowarn}"
-				target="1.5"
-				source="1.5"
+				target="1.6"
+				source="1.6"
 				fork="true"
 				memoryinitialsize="256m"
 				memorymaximumsize="400m"
@@ -151,14 +159,15 @@
 			</fileset>
 		</delete>
 		
+        <mkdir dir="${hjb.dir}/src/main/java"/>
 		<javac srcdir="${hjb.dir}/src/main/java"
 				destdir="${hjb.dir}/src/main/java"
 				debug="${compile.debug}" 
 				deprecation="${compile.deprecation}" 
 				optimize="${compile.optimize}" 
 				nowarn="${compile.nowarn}"
-				target="1.5"
-				source="1.5">
+				target="1.6"
+				source="1.6">
 			<!--classpath refid="unit-test.path" /-->
 		</javac>				
 		<ant antfile="build.xml" inheritall="false" target="generate-sources" dir="${hjb.dir}">
@@ -218,7 +227,7 @@
 
 	</target>
 
-	<target name="jar.domain" description="Create source and binary JAR out of the JAXB classes">
+	<target name="jar.domain" depends="generate.domain,compile.domain" description="Create source and binary JAR out of the JAXB classes">
 		<!-- Generate the binary JAR with source attached -->
 		<jar destfile="${dir.web.lib}/${app.name}-xml.jar">
 			<fileset dir="${dir.compile.dest.domain}">
@@ -259,16 +268,16 @@
 		
 	</target>
 
-	<target name="compile" description="Compile source files">
+	<target name="compile" depends="resolve-dependencies" description="Compile source files">
 		<mkdir dir="${dir.build}/${app.name}/WEB-INF/classes"/>
-		<javac srcdir="${dir.source}"
+		<javac verbose="false" srcdir="${dir.source}"
 				destdir="${dir.build}/${app.name}/WEB-INF/classes"
 				debug="${compile.debug}" 
 				deprecation="${compile.deprecation}" 
 				optimize="${compile.optimize}" 
 				nowarn="${compile.nowarn}"
-				target="1.5"
-				source="1.5">
+				target="1.6"
+				source="1.6">
 			<classpath refid="compile.path" />
 		</javac>
 	</target>
@@ -285,10 +294,6 @@
 		<delete dir="${dir.build}" />
 	</target>
 	
-	<target name="help" description="Display build help">
-		<echo>iEat v${build.version}</echo>
-	</target>
-
 	<target name="demo" description="Create the Live Demo">
 		
 		<antcall target="prepare-war" inheritall="true">
@@ -351,278 +356,10 @@
 				includes="README*.txt"/>
 			<mapper type="glob" from="*.txt" to="*"/>
 			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
+				<filter token="VERSION" value="${build.version}" />
 				<filter token="BUILD_DATE" value="${build.time}" />
 			</filterset>
 		</copy>
 		
 	</target>	
-
-	<!-- 
-		Subversion build targets 
-		
-		Build from SVN by first checking out the code using svn-checkout. Pass the tag
-		to build with -Dsvn.tag=X, e.g.
-		
-		ant -Dsvn.tag=1.2 svn-checkout
-		
-		It helps to define the svn.dir.build environment property to a directory OUTSIDE
-		the dir.build directory, so the checked-out sources are not deleted after every
-		build. Then you can switch to a new release using the svn-switch task, e.g.
-		
-		ant -Dsvn.tag=1.3 svn-switch
-		
-		To perform a release, do
-		
-		ant -Dsvn.tag=X (svn-checkout or svn-switch) svn-src-release svn-bin-release svn-demo-release
-		
-	-->
-
-	<target name="svn-checkout" description="Checkout sources from SVN">
-		<delete dir="${svn.dir.build}"/>
-		<mkdir dir="${svn.dir.build}"/>
-		<svn username="${svn.username}" password="${svn.password}">
-			<checkout url="${svn.url}" destPath="${svn.dir.build}"
-				revision="${svn.revision}"/>
-		</svn>
-	</target>
-	
-	<target name="svn-update" description="Update sources previously checked out from SVN">
-		<svn username="${svn.username}" password="${svn.password}">
-			<update dir="${svn.dir.build}" revision="${svn.revision}"/>
-		</svn>
-	</target>
-	
-	<target name="svn-switch" 
-		description="Switch sources previously checked out from SVN to another branch">
-		<svn username="${svn.username}" password="${svn.password}">
-			<switch path="${svn.dir.build}" url="${svn.url}" revision="${svn.revision}"/>
-		</svn>
-	</target>
-	
-	<!-- Copy environment properties (to catch local env) -->
-	<target name="svn-prepare">
-		<mkdir dir="${svn.dir.build}/${dir.env.src}"/>
-		<copy todir="${svn.dir.build}/${dir.env.src}">
-			<fileset dir="${dir.base}/${dir.env.src}" includes="**" excludes="README*"/>
-		</copy>
-	</target>
-
-	<target name="svn-build" depends="clean,svn-prepare" description="Build from SVN tag versions">
-		
-		<property name="app.archive.name" value="${app.name}-${svn.tag}"/>
-		
-		<echo />
-		<echo message="Building application version ${svn.tag} (${svn.revision})..."/>
-
-		<ant dir="${svn.dir.build}" target="war" inheritall="true">
-			<property name="build.version" value="${svn.tag}"/>
-			<property name="dir.build" value="${dir.build}"/>
-			<property name="app.name" value="${app.archive.name}"/>
-			<property name="env.src" value="${svn.env.src}"/>
-		</ant>
-	</target>
-	
-	<target name="svn-demo-release" description="Create the Live Demo from SVN sources"
-		depends="clean,init">
-		
-		<property name="app.archive.name" value="${app.name}-${svn.tag}"/>
-		<property name="demo.build.dir" value="${app.archive.name}-livedemo"/>
-		
-		<!-- call the demo target on the code checked out from SVN -->
-		<ant dir="${svn.dir.build}" inheritall="true" target="demo">
-			<property name="dir.build" value="${dir.build}"/>
-			<property name="build.version" value="${svn.tag}"/>
-			<property name="env.src" value="demo"/>
-		</ant>
-		
-		<!-- copy licenses -->
-		<echo message="Copying licenses" />
-		<mkdir dir="${dir.build}/${demo.build.dir}/licenses"/>
-		<copy todir="${dir.build}/${demo.build.dir}/licenses" flatten="true">
-			<fileset dir="${svn.dir.build}/defs/docs/licenses" includes="**/*.txt"/>
-			<mapper type="glob" from="*.txt" to="*"/>
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-		
-		<!-- copy demo build -->
-		<echo message="Copying demo build into SVN tar structure"/>
-		<copy todir="${dir.build}/${demo.build.dir}">
-			<fileset dir="${dir.build}/${app.name}-demo" includes="**"/>
-		</copy>
-		
-		<!-- fix file permissions -->
-		<chmod perm="755">
-			<fileset dir="${dir.build}/${demo.build.dir}">
-				<include name="**/*.sh"/>
-			</fileset>
-		</chmod>
-		
-		<!-- tar it up -->
-		<tar destfile="${dir.dist}/${app.archive.name}-livedemo.tbz2" 
-				compression="bzip2" longfile="gnu">
-			<tarfileset dir="${dir.build}" mode="775">
-				<include name="${demo.build.dir}/**/*.sh"/>
-			</tarfileset>
-			<tarfileset dir="${dir.build}">
-				<include name="${demo.build.dir}/**"/>
-				<exclude name="${demo.build.dir}/**/*.sh"/>
-			</tarfileset>
-		</tar>
-	</target>
-
-	<target name="svn-src-release" 
-		description="Build source release TAR from SVN tag versions">
-
-		<property name="app.archive.name" 
-			value="${app.name}-${svn.tag}"/>
-		<property name="release-source-dir-name"
-			value="${app.archive.name}-src"/>
-		<property name="release-source-dir" 
-			value="${dir.build}/${release-source-dir-name}" />
-		<property name="release-source-name" 
-			value="${dir.dist}/${app.archive.name}-src.tbz2" />
-
-		<echo message="Building source release ${release-source-name}" />
-
-		<mkdir dir="${dir.dist}"/>
-		<delete dir="${release-source-dir}" />
-		<delete file="${release-source-name}" />
-
-		<echo message="Creating source README" />
-		<copy file="${svn.dir.build}/defs/docs/release/README.src.txt" 
-			tofile="${release-source-dir}/README" filtering="true">
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-
-		<echo message="Copying source to tar base directory" />
-		<copy todir="${release-source-dir}">
-			<fileset dir="${svn.dir.build}">
-				<include name="**" />
-				<include name=".*" />
-				<exclude name="build/**" />
-				<exclude name="dist/**" />
-				<exclude name="${dir.env}/local/**" />
-			</fileset>
-		</copy>
-
-		<tar tarfile="${release-source-name}" compression="bzip2" 
-			longfile="gnu">
-			<tarfileset dir="${dir.build}" 
-				includes="${release-source-dir-name}/**" />
-		</tar>
-	</target>
-	
-	<!-- create binary release -->
-	<target name="svn-bin-release" description="Build binary release TAR from SVN tag versions"
-		depends="svn-build">
-		
-		<property name="release-dir-name"
-			value="${app.archive.name}"/>
-		<property name="release-dir" 
-			value="${dir.build}/${release-dir-name}" />
-		<property name="release-name" 
-			value="${dir.dist}/${app.archive.name}.tbz2" />
-
-		<echo message="Building binary release ${release-name}" />
-
-		<delete dir="${release-dir}" />
-		<delete file="${release-name}" />
-
-		<echo message="Creating README" />
-		<copy file="${svn.dir.build}/defs/docs/release/README.bin.txt" 
-			tofile="${release-dir}/README" filtering="true">
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-
-		<echo message="Creating NOTES" />
-		<copy filtering="true" todir="${release-dir}">
-			<fileset dir="${svn.dir.build}/defs/docs/release/notes"
-				includes="notes-${svn.tag}.txt"/>
-			<mapper type="merge" to="NOTES"/>
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-
-		<!-- create setup scripts -->
-		<echo message="Creating setup scripts" />
-		<mkdir dir="${release-dir}/setup/sql"/>
-		<copy filtering="false" todir="${release-dir}/setup/sql">
-			<fileset dir="${svn.dir.build}/defs/sql"
-				includes="**"/>
-		</copy>
-		
-		<!-- copy JDBC drivers -->
-		<echo message="Copying JDBC drivers" />
-		<mkdir dir="${release-dir}/setup/lib"/>
-		<copy todir="${release-dir}/setup/lib">
-			<fileset dir="${svn.dir.build}/lib/jdbc"
-				includes="**"/>
-		</copy>
-
-		<!-- copy JavaMail libraries -->
-		<echo message="Copying Java Mail JARs" />
-		<mkdir dir="${release-dir}/setup/lib/javamail"/>
-		<copy todir="${release-dir}/setup/lib/javamail">
-			<fileset dir="${svn.dir.build}/lib/javamail"
-				includes="**"/>
-		</copy>
-
-		<!-- copy Xalan/Xerces libraries -->
-		<echo message="Copying Xalan/Xerces JARs" />
-		<mkdir dir="${release-dir}/setup/lib/xalan"/>
-		<copy todir="${release-dir}/setup/lib/xalan">
-			<fileset dir="${svn.dir.build}/lib/xalan"
-				includes="**"/>
-		</copy>
-
-		<!-- copy misc README files -->
-		<echo message="Copying README files" />
-		<copy filtering="true" todir="${release-dir}">
-			<fileset dir="${svn.dir.build}/defs/docs"
-				includes="README-*.txt"/>
-			<mapper type="glob" from="*.txt" to="*"/>
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-		
-		<!-- copy licenses -->
-		<echo message="Copying licenses" />
-		<mkdir dir="${release-dir}/licenses"/>
-		<copy todir="${release-dir}/licenses" flatten="true">
-			<fileset dir="${svn.dir.build}/defs/docs/licenses" includes="**/*.txt"/>
-			<mapper type="glob" from="*.txt" to="*"/>
-			<filterset>
-				<filter token="VERSION" value="${svn.tag}" />
-				<filter token="BUILD_DATE" value="${build.time}" />
-			</filterset>
-		</copy>
-		
-		<!-- copy war, removing version from name -->
-		<copy file="${dir.build}/${app.archive.name}.war" 
-			tofile="${release-dir}/${app.name}.war"/>
-
-		<!-- tar it alll up -->
-		<mkdir dir="${dir.dist}"/>
-		<tar tarfile="${release-name}" compression="bzip2" longfile="gnu">
-			<tarfileset dir="${dir.build}" 
-				includes="${release-dir-name}/**">
-			</tarfileset>
-		</tar>
-
-	</target>
-	
 </project>

+ 0 - 80
defs/sql/postgres/create.sql

@@ -1,80 +0,0 @@
-alter table meal drop constraint meal_user_fk;
-alter table mealrecipe drop constraint mealrecipe_recipe_fk;
-alter table mealrecipe drop constraint mealrecipe_course_fk;
-alter table mealrecipe drop constraint mealrecipe_meal_fk;
-alter table recipe drop constraint recipe_ethnicity_fk;
-alter table recipe drop constraint recipe_preptime_fk;
-alter table recipe drop constraint recipe_base_fk;
-alter table recipe drop constraint recipe_user_fk;
-alter table recipe drop constraint recipe_course_fk;
-alter table recipe drop constraint recipe_difficulty_fk;
-alter table recipe drop constraint recipe_system_fk;
-alter table recipecomment drop constraint recipecomment_recipe_fk;
-alter table recipeingredient drop constraint recipeingredient_recipe_fk;
-alter table recipeingredient drop constraint recipeingredient_unit_fk;
-alter table recipeingredient drop constraint recipeingredient_ingredientrecipe_fk;
-alter table recipeingredient drop constraint recipeingredient_ingredient_fk;
-alter table reciperating drop constraint reciperating_recipe_fk;
-alter table recipestep drop constraint recipestep_recipe_fk;
-alter table relatedrecipe drop constraint relatedrecipe_recipe_fk;
-alter table relatedrecipe drop constraint relatedrecipe_relationkind_fk;
-drop table base;
-drop table course;
-drop table difficulty;
-drop table ethnicity;
-drop table ingredient;
-drop table meal;
-drop table mealrecipe;
-drop table measurement_system;
-drop table preptime;
-drop table recipe;
-drop table recipecomment;
-drop table recipeingredient;
-drop table reciperating;
-drop table recipestep;
-drop table relatedrecipe;
-drop table relationkind;
-drop table unit;
-drop table users;
-drop sequence hibernate_integer_seq;
-drop sequence hibernate_sequence;
-create table base (baseid int4 not null, Value_ varchar(255), primary key (baseid));
-create table course (courseid int4 not null, Value_ varchar(255), primary key (courseid));
-create table difficulty (difficultyid int4 not null, Value_ varchar(255), primary key (difficultyid));
-create table ethnicity (ethnicityid int4 not null, Value_ varchar(255), primary key (ethnicityid));
-create table ingredient (ingredientid int4 not null, description varchar(512), ingr_name varchar(128) not null, primary key (ingredientid));
-create table meal (mealid int8 not null, ownerid int4, meal_name varchar(128) not null, primary key (mealid));
-create table mealrecipe (mealrecipeid int8 not null, recipeid int8, courseid int4, quantity float8, mealid int8, pos int4, primary key (mealrecipeid));
-create table measurement_system (systemid int4 not null, Value_ varchar(255), primary key (systemid));
-create table preptime (preptimeid int4 not null, Value_ varchar(255), primary key (preptimeid));
-create table recipe (recipeid int8 not null, ownerid int4, image varchar(255), excerpt text, source varchar(128), courseid int4, systemid int4, directions text, baseid int4, preptimeid int4, ethnicityid int4, createddate timestamp, servingsize int4 not null, recipe_name varchar(128) not null, modifieddate timestamp, difficultyid int4, primary key (recipeid));
-create table recipecomment (commentid int8 not null, Value_ varchar(255), userid int4 not null, createddate timestamp not null, recipeid int8, pos int4, primary key (commentid));
-create table recipeingredient (recipeingredientid int8 not null, ingredientid int4, unitid int4, optional bool not null, ingredientrecipeid int8, qualifier varchar(255), quantity float8 not null, recipeid int8, pos int4, primary key (recipeingredientid));
-create table reciperating (ratingid int8 not null, userid int4 not null, createddate timestamp not null, rating int2 not null, recipeid int8, pos int4, primary key (ratingid));
-create table recipestep (stepid int8 not null, Value_ varchar(255), recipeid int8, pos int4, primary key (stepid));
-create table relatedrecipe (relatedrecipeid int8 not null, relationkindid int4, recipeid int8, pos int4, primary key (relatedrecipeid));
-create table relationkind (relationkindid int4 not null, Value_ varchar(255), primary key (relationkindid));
-create table unit (unitid int4 not null, Value_ varchar(255), abbreviation varchar(8) not null, mass bool not null, tometric float8, tous float8, toimperial float8, systemid int4, primary key (unitid));
-create table users (userid int4 not null, password varchar(64) not null, email varchar(128) not null, createddate timestamp not null, country varchar(3) not null, accesslevel int4, lastlogindate timestamp, user_name varchar(64) not null, login varchar(32) not null, language varchar(3) not null, primary key (userid));
-alter table meal add constraint meal_user_fk foreign key (ownerid) references users;
-alter table mealrecipe add constraint mealrecipe_recipe_fk foreign key (recipeid) references recipe;
-alter table mealrecipe add constraint mealrecipe_course_fk foreign key (courseid) references course;
-alter table mealrecipe add constraint mealrecipe_meal_fk foreign key (mealid) references meal;
-alter table recipe add constraint recipe_ethnicity_fk foreign key (ethnicityid) references ethnicity;
-alter table recipe add constraint recipe_preptime_fk foreign key (preptimeid) references preptime;
-alter table recipe add constraint recipe_base_fk foreign key (baseid) references base;
-alter table recipe add constraint recipe_user_fk foreign key (ownerid) references users;
-alter table recipe add constraint recipe_course_fk foreign key (courseid) references course;
-alter table recipe add constraint recipe_difficulty_fk foreign key (difficultyid) references difficulty;
-alter table recipe add constraint recipe_system_fk foreign key (systemid) references measurement_system;
-alter table recipecomment add constraint recipecomment_recipe_fk foreign key (recipeid) references recipe;
-alter table recipeingredient add constraint recipeingredient_recipe_fk foreign key (recipeid) references recipe;
-alter table recipeingredient add constraint recipeingredient_unit_fk foreign key (unitid) references unit;
-alter table recipeingredient add constraint recipeingredient_ingredientrecipe_fk foreign key (ingredientrecipeid) references recipe;
-alter table recipeingredient add constraint recipeingredient_ingredient_fk foreign key (ingredientid) references ingredient;
-alter table reciperating add constraint reciperating_recipe_fk foreign key (recipeid) references recipe;
-alter table recipestep add constraint recipestep_recipe_fk foreign key (recipeid) references recipe;
-alter table relatedrecipe add constraint relatedrecipe_recipe_fk foreign key (recipeid) references recipe;
-alter table relatedrecipe add constraint relatedrecipe_relationkind_fk foreign key (relationkindid) references relationkind;
-create sequence hibernate_integer_seq;
-create sequence hibernate_sequence;

+ 0 - 0
environment/example/README.txt → environment/development/README.txt


+ 0 - 0
environment/example/env.properties → environment/development/env.properties


+ 0 - 0
environment/example/log4j.properties → environment/development/log4j.properties


+ 924 - 0
hyperjaxb2-build/src/main/resources/binding.xjb

@@ -0,0 +1,924 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<jaxb:bindings version="1.0" 
+	xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" 
+	xmlns:xs="http://www.w3.org/2001/XMLSchema" 
+	xmlns:hj="http://hyperjaxb2.jvnet.org/customizations"
+	xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+	jaxb:extensionBindingPrefixes="hj xjc">
+	
+	<jaxb:bindings schemaLocation="core.xsd" node="/xs:schema">	
+
+		<jaxb:globalBindings bindingStyle="modelGroupBinding" choiceContentProperty="true" 
+				generateIsSetMethod="false">
+			<jaxb:javaType name="java.lang.Integer"  xmlType="xs:int"/>
+			<jaxb:javaType name="java.lang.Long" xmlType="xs:long"/>
+			
+			<!-- The SerializeableUID value should be set the the date 
+				(yyyymmdd) plus version (1, 2, 3, etc) to signify the 
+				unique version of these objects. -->
+			<xjc:serializable uid="200905041"/>
+			
+		</jaxb:globalBindings>
+
+		<jaxb:schemaBindings>
+			<jaxb:package name="magoffin.matt.ieat.domain"/>
+		</jaxb:schemaBindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='base']">
+			<hj:class>
+				<hj:table name="base"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Base'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='baseId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="baseid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='course']">
+			<hj:class>
+				<hj:table name="course"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Course'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='courseId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="courseid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='difficulty']">
+			<hj:class>
+				<hj:table name="difficulty"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Difficulty'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='difficultyId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="difficultyid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ethnicity']">
+			<hj:class>
+				<hj:table name="ethnicity"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Ethnicity'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='ethnicityId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="ethnicityid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ingredient']">
+			<hj:class>
+				<hj:table name="ingredient"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Ingredient'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:attribute[@name='ingredientId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="ingredientid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='description']">
+				<hj:simpleSingleProperty>
+					<hj:column name="description" length="512"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
+				<hj:simpleSingleProperty>
+					<hj:column name="ingr_name" length="128" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='meal']">
+			<hj:class>
+				<hj:table name="meal"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Meal'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:attribute[@name='mealId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="mealid" not-null="true"/>
+					<hj:generator generatorClass="native"/>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
+				<hj:simpleSingleProperty>
+					<hj:column name="meal_name" length="128" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='owner']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="meal_user_fk"
+							insert="true" update="false" cascade="none">
+						<hj:column name="ownerid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="mealrecipe_meal_fk">
+						<hj:column name="mealid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='meal-recipe']">
+			<hj:class>
+				<hj:table name="mealrecipe"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.MealRecipe'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+			
+			<!-- Primary Key -->
+
+			<hj:id unsaved-value="null">
+				<hj:column name="mealrecipeid" not-null="true"/>
+				<hj:generator generatorClass="native"/>
+			</hj:id>
+
+			<!-- Attributes -->
+
+			<jaxb:bindings node="xs:attribute[@name='quantity']">
+				<hj:simpleSingleProperty>
+					<hj:column name="quantity"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="mealrecipe_recipe_fk"
+							 insert="true" update="true" cascade="none">
+						<hj:column name="recipeid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='course']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="mealrecipe_course_fk"
+							 insert="true" update="true" cascade="none">
+						<hj:column name="courseid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='prep-time']">
+			<hj:class>
+				<hj:table name="preptime"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.PrepTime'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='prepTimeId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="preptimeid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe']">
+			<hj:class>
+				<hj:table name="recipe"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Recipe'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:attribute[@name='recipeId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="recipeid" not-null="true"/>
+					<hj:generator generatorClass="native"/>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Attributes -->
+
+			<jaxb:bindings node="xs:attribute[@name='servingSize']">
+				<hj:simpleSingleProperty>
+					<hj:column name="servingsize" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+
+			<jaxb:bindings node="xs:attribute[@name='createdDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="createddate"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+
+			<jaxb:bindings node="xs:attribute[@name='modifiedDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="modifieddate"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='base']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_base_fk"
+							  insert="true" update="true" cascade="none">
+						<hj:column name="baseid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='comment']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="recipecomment_recipe_fk">
+						<hj:column name="recipeid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='course']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_course_fk"
+							   insert="true" update="true" cascade="none">
+						<hj:column name="courseid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='difficulty']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_difficulty_fk"
+							   insert="true" update="true" cascade="none">
+						<hj:column name="difficultyid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='directions']">
+				<hj:simpleSingleProperty>
+					<hj:column name="directions"/>
+					<hj:type name="text"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='ethnicity']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_ethnicity_fk"
+							   insert="true" update="true" cascade="none">
+						<hj:column name="ethnicityid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='excerpt']">
+				<hj:simpleSingleProperty>
+					<hj:column name="excerpt"/>
+					<hj:type name="text"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='image']">
+				<hj:simpleSingleProperty>
+					<hj:column name="image" length="255"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='ingredient']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="recipeingredient_recipe_fk">
+						<hj:column name="recipeid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
+				<hj:simpleSingleProperty>
+					<hj:column name="recipe_name" length="128" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='owner']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_user_fk"
+							   insert="true" update="false" cascade="none">
+						<hj:column name="ownerid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='prep-time']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_preptime_fk"
+							   insert="true" update="true" cascade="none">
+						<hj:column name="preptimeid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='rating']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="reciperating_recipe_fk">
+						<hj:column name="recipeid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='related-recipe']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="relatedrecipe_recipe_fk">
+						<hj:column name="recipeid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='source']">
+				<hj:simpleSingleProperty>
+					<hj:column name="source" length="128"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='step']">
+				<hj:complexCollectionProperty lazy="false">
+					<hj:cache usage="read-write"/>
+					<hj:key foreign-key="recipestep_recipe_fk">
+						<hj:column name="recipeid"/>
+					</hj:key>
+					<hj:list-index> 
+						<hj:column name="pos"/> 
+					</hj:list-index>
+					<hj:one-to-many/>
+				</hj:complexCollectionProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='system']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipe_system_fk"
+							   insert="true" update="true" cascade="none">
+						<hj:column name="systemid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe-comment']">
+			<hj:class>
+				<hj:table name="recipecomment"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeComment'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+				<hj:key foreign-key="recipecomment_recipe_fk"/>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='commentId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="commentid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Attributes -->
+
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='createdDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="createddate" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='userId']">
+				<hj:simpleSingleProperty>
+					<hj:column name="userid" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe-ingredient']">
+			<hj:class>
+				<hj:table name="recipeingredient"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeIngredient'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+				<hj:key foreign-key="recipeingredient_recipe_fk"/>
+			</hj:class>
+
+			<!-- Primary Key -->
+
+			<hj:id unsaved-value="null">
+				<hj:column name="recipeingredientid" not-null="true"/>
+				<hj:generator generatorClass="native"/>
+			</hj:id>
+
+			
+			<!-- Attributes -->
+
+			<jaxb:bindings node="xs:attribute[@name='optional']">
+				<hj:simpleSingleProperty>
+					<hj:column name="optional" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='quantity']">
+				<hj:simpleSingleProperty>
+					<hj:column name="quantity" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='qualifier']">
+				<hj:simpleSingleProperty>
+					<hj:column name="qualifier" length="255"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='ingredient']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipeingredient_ingredient_fk"
+							  insert="true" update="true" cascade="none">
+						<hj:column name="ingredientid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipeingredient_ingredientrecipe_fk"
+							  insert="true" update="true" cascade="none">
+						<hj:column name="ingredientrecipeid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='unit']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="recipeingredient_unit_fk"
+							  insert="true" update="true" cascade="none">
+						<hj:column name="unitid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe-rating']">
+			<hj:class>
+				<hj:table name="reciperating"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeRating'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+				<hj:key foreign-key="reciperating_recipe_fk"/>
+			</hj:class>
+
+			<!-- Primary Key -->
+
+			<jaxb:bindings node="xs:attribute[@name='ratingId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="ratingid" not-null="true"/>
+					<hj:generator generatorClass="native"/>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Attributes -->
+
+			<jaxb:bindings node="xs:attribute[@name='createdDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="createddate" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='rating']">
+				<hj:simpleSingleProperty>
+					<hj:column name="rating" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='userId']">
+				<hj:simpleSingleProperty>
+					<hj:column name="userid" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe-step']">
+			<hj:class>
+				<hj:table name="recipestep"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RecipeStep'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+				<hj:key foreign-key="recipestep_recipe_fk"/>
+			</hj:class>
+
+			<!-- Primary Key -->
+
+			<hj:id unsaved-value="null">
+				<hj:column name="stepid" not-null="true"/>
+				<hj:generator generatorClass="native"/>
+			</hj:id>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='related-recipe']">
+			<hj:class>
+				<hj:table name="relatedrecipe"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RelatedRecipe'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+			
+			<!-- Primary Key -->
+
+			<hj:id unsaved-value="null">
+				<hj:column name="relatedrecipeid" not-null="true"/>
+				<hj:generator generatorClass="native"/>
+			</hj:id>
+
+			<!-- Elements -->
+						
+			<jaxb:bindings node="xs:sequence/xs:element[@name='kind']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="relatedrecipe_relationkind_fk"
+							 insert="true" update="true" cascade="none">
+						<hj:column name="relationkindid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='recipe']">
+				<hj:complexSingleProperty>
+					<hj:many-to-one foreign-key="relatedrecipe_recipe_fk"
+							 insert="true" update="true" cascade="none">
+						<hj:column name="recipeid"/>
+					</hj:many-to-one>
+				</hj:complexSingleProperty>	
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='relation-kind']">
+			<hj:class>
+				<hj:table name="relationkind"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.RelationKind'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='relationKindId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="relationkindid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='system']">
+			<hj:class>
+				<hj:table name="measurement_system"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.System'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='systemId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="systemid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='unit']">
+			<hj:class>
+				<hj:table name="unit"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.Unit'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='unitId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="unitid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Attributes -->
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='abbreviation']">
+				<hj:simpleSingleProperty>
+					<hj:column name="abbreviation" not-null="true" length="8"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='mass']">
+				<hj:simpleSingleProperty>
+					<hj:column name="mass" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='systemId']">
+				<hj:simpleSingleProperty>
+					<hj:column name="systemid"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toImperial']">
+				<hj:simpleSingleProperty>
+					<hj:column name="toimperial"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toMetric']">
+				<hj:simpleSingleProperty>
+					<hj:column name="tometric"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:simpleContent/xs:extension/xs:attribute[@name='toUS']">
+				<hj:simpleSingleProperty>
+					<hj:column name="tous"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='user']">
+			<hj:class>
+				<hj:table name="users"/>
+				<hj:cache usage="read-write"/>
+				<hj:discriminator formula="'magoffin.matt.ieat.domain.User'"> 
+					<hj:no-column/> 
+				</hj:discriminator>
+			</hj:class>
+
+			<!-- Primary Key -->
+			
+			<jaxb:bindings node="xs:attribute[@name='userId']">
+				<hj:id unsaved-value="null">
+					<hj:column name="userid" not-null="true"/>
+					<hj:generator generatorClass="native">
+						<hj:param name="sequence" value="hibernate_integer_seq"/>
+					</hj:generator>
+				</hj:id>
+			</jaxb:bindings>
+			
+			<!-- Attributes -->
+			
+			<jaxb:bindings node="xs:attribute[@name='accessLevel']">
+				<hj:simpleSingleProperty>
+					<hj:column name="accesslevel"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='country']">
+				<hj:simpleSingleProperty>
+					<hj:column name="country" not-null="true" length="3"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='createdDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="createddate" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='language']">
+				<hj:simpleSingleProperty>
+					<hj:column name="language" not-null="true" length="3"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='lastLoginDate']">
+				<hj:simpleSingleProperty>
+					<hj:column name="lastlogindate"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:attribute[@name='login']">
+				<hj:simpleSingleProperty>
+					<hj:column name="login" not-null="true" length="32"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<!-- Elements -->
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='email']">
+				<hj:simpleSingleProperty>
+					<hj:column name="email" length="128" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='name']">
+				<hj:simpleSingleProperty>
+					<hj:column name="user_name" length="64" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+			<jaxb:bindings node="xs:sequence/xs:element[@name='password']">
+				<hj:simpleSingleProperty>
+					<hj:column name="password" length="64" not-null="true"/>
+				</hj:simpleSingleProperty>
+			</jaxb:bindings>
+			
+		</jaxb:bindings>
+		
+	</jaxb:bindings>
+	
+	<jaxb:bindings schemaLocation="ui.xsd" node="/xs:schema">
+		
+		<jaxb:bindings node="xs:complexType[@name='advanced-search-criteria']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='recipe-search-criteria']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-base']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-data']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-edit']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-index']">
+			<hj:ignored/>
+			<jaxb:bindings node="xs:sequence/xs:element[@name='index-section']/xs:complexType">
+				<hj:ignored/>
+			</jaxb:bindings>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-ingredient-match']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-meta-support']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-pagination-support']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-parameter']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-recipe-match']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-search-results']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-session-data']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+		<jaxb:bindings node="xs:complexType[@name='ui-user-match']">
+			<hj:ignored/>
+		</jaxb:bindings>
+		
+	</jaxb:bindings>
+	
+</jaxb:bindings>

+ 202 - 0
hyperjaxb2-build/src/main/resources/core.xsd

@@ -0,0 +1,202 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema
+	xmlns="http://www.w3.org/2001/XMLSchema"
+	xml:lang="EN"
+	targetNamespace="http://msqr.us/xsd/ieat"
+	jaxb:version="1.0"
+	xmlns:eat="http://msqr.us/xsd/ieat"
+	xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+	xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+	jaxb:extensionBindingPrefixes="xjc"
+	xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	elementFormDefault="qualified"
+	attributeFormDefault="unqualified">
+    
+	<complexType name="base">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="baseId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="course">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="courseId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="difficulty">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="difficultyId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="ethnicity">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="ethnicityId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="ingredient">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="description" type="string" minOccurs="0"/>
+		</sequence>
+		<attribute name="ingredientId" type="int"/>
+	</complexType>
+
+	<complexType name="meal">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="recipe" type="eat:meal-recipe" maxOccurs="unbounded"/>
+			<element name="owner" type="eat:user" minOccurs="0"/>
+		</sequence>
+		<attribute name="mealId" type="long"/>
+	</complexType>
+	
+	<complexType name="meal-recipe">
+		<sequence>
+			<element name="recipe" type="eat:recipe"/>
+			<element name="course" type="eat:course"/>
+		</sequence>
+		<attribute name="quantity" type="double" use="optional" default="1.0"/>
+	</complexType>
+	
+	<complexType name="prep-time">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="prepTimeId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="recipe">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="excerpt" type="string" minOccurs="0"/>
+			<element name="source" type="string" minOccurs="0"/>
+			<element name="directions" type="string" minOccurs="0"/>
+			<element name="image" type="string" minOccurs="0">
+				<annotation>
+					<documentation>
+						The URL of an image file to display with the recipe.
+					</documentation>
+				</annotation>
+			</element>
+			<element name="base" type="eat:base" minOccurs="0"/>
+			<element name="course" type="eat:course" minOccurs="0"/>
+			<element name="ethnicity" type="eat:ethnicity" minOccurs="0"/>
+			<element name="difficulty" type="eat:difficulty" minOccurs="0"/>
+			<element name="owner" type="eat:user" minOccurs="0"/>
+			<element name="prep-time" type="eat:prep-time" minOccurs="0"/>
+			<element name="system" type="eat:system"/>
+			<element name="ingredient" type="eat:recipe-ingredient" minOccurs="0" maxOccurs="unbounded"/>
+			<element name="related-recipe" type="eat:related-recipe" minOccurs="0" maxOccurs="unbounded"/>
+			<element name="step" type="eat:recipe-step" minOccurs="0" maxOccurs="unbounded"/>
+			<element name="comment" type="eat:recipe-comment" minOccurs="0" maxOccurs="unbounded"/>
+			<element name="rating" type="eat:recipe-rating" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="recipeId" type="long"/>
+		<attribute name="servingSize" type="int"/>
+		<attribute name="createdDate" type="dateTime"/>
+		<attribute name="modifiedDate" type="dateTime" use="optional"/>
+	</complexType>
+	
+	<complexType name="recipe-comment">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="commentId" type="long"/>
+				<attribute name="createdDate" type="dateTime"/>
+				<attribute name="userId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+	
+	<complexType name="recipe-ingredient">
+		<sequence>
+			<element name="unit" type="eat:unit" minOccurs="0"/>
+			<!-- Removing choice for backwards compatibility with HJAXB1 -->
+			<!--choice minOccurs="1" maxOccurs="1"-->
+				<element name="ingredient" type="eat:ingredient" minOccurs="0"/>
+				<element name="recipe" type="eat:recipe" minOccurs="0"/>
+			<!--/choice-->
+		</sequence>
+		<attribute name="quantity" type="double"/>
+		<attribute name="qualifier" type="string" use="optional"/>
+		<attribute name="optional" type="boolean"/>
+	</complexType>
+
+	<complexType name="recipe-rating">
+		<attribute name="ratingId" type="long"/>
+		<attribute name="rating" type="short"/>
+		<attribute name="createdDate" type="dateTime"/>
+		<attribute name="userId" type="int"/>
+	</complexType>
+	
+	<complexType name="recipe-step">
+		<simpleContent>
+			<extension base="string"/>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="related-recipe">
+		<sequence>
+			<element name="kind" type="eat:relation-kind"/>
+			<element name="recipe" type="eat:recipe"/>
+		</sequence>
+	</complexType>
+
+	<complexType name="relation-kind">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="relationKindId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="system">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="systemId" type="int"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="unit">
+		<simpleContent>
+			<extension base="string">
+				<attribute name="unitId" type="int"/>
+				<attribute name="abbreviation" type="string"/>
+				<attribute name="systemId" type="int"/>
+				<attribute name="toMetric" type="double" use="optional"/>
+				<attribute name="toImperial" type="double" use="optional"/>
+				<attribute name="toUS" type="double" use="optional"/>
+				<attribute name="mass" type="boolean" use="optional" default="false"/>
+			</extension>
+		</simpleContent>
+	</complexType>
+
+	<complexType name="user">
+		<sequence>
+			<element name="name" type="string"/>
+			<element name="email" type="string"/>
+			<element name="password" type="string"/>
+		</sequence>
+		<attribute name="accessLevel" type="int"/>
+		<attribute name="country" type="string"/>
+		<attribute name="createdDate" type="dateTime"/>
+		<attribute name="userId" type="int"/>
+		<attribute name="language" type="string"/>
+		<attribute name="lastLoginDate" type="dateTime"/>
+		<attribute name="login" type="string"/>
+	</complexType>
+	
+</schema>

+ 186 - 0
hyperjaxb2-build/src/main/resources/ui.xsd

@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<schema
+    xmlns="http://www.w3.org/2001/XMLSchema"
+    xml:lang="EN"
+    targetNamespace="http://msqr.us/xsd/ieat"
+    xmlns:eat="http://msqr.us/xsd/ieat"
+    xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+    xmlns:xs="http://www.w3.org/2001/XMLSchema"
+    elementFormDefault="qualified"
+    attributeFormDefault="unqualified">
+    
+    <include schemaLocation="core.xsd"/>
+    
+	<element name="ui" type="eat:ui-data"/>
+	
+	<element name="edit" type="eat:ui-edit"/>
+	
+	<element name="search-results" type="eat:ui-search-results"/>
+	
+	<element name="session-data" type="eat:ui-session-data"/>
+	
+	<complexType name="ui-base">
+		<attribute name="mode" type="xs:string" use="optional"/>
+	</complexType>
+	
+	<complexType name="ui-data">
+		<complexContent>
+			<extension base="eat:ui-base">
+				<sequence>
+					<element name="search-results" type="eat:ui-search-results" minOccurs="0"/>
+					<element name="meta-support" type="eat:ui-meta-support" minOccurs="0"/>
+					<element name="base" type="eat:base" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="course" type="eat:course" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="difficulty" type="eat:difficulty" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="ethnicity" type="eat:ethnicity" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="ingredient" type="eat:ingredient" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="prep-time" type="eat:prep-time" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="recipe" type="eat:recipe" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="system" type="eat:system"
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="unit" type="eat:unit"
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="meal" type="eat:meal"
+						minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>			
+			</extension>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-edit">
+		<complexContent>
+			<extension base="eat:ui-base">
+				<sequence>
+					<element name="ingredient" type="eat:ingredient" minOccurs="0"/>
+					<element name="recipe" type="eat:recipe" minOccurs="0"/>
+					<element name="user" type="eat:user" minOccurs="0"/>
+					<element name="meal" type="eat:meal" minOccurs="0"/>
+					<element name="meal-recipe" type="eat:meal-recipe" minOccurs="0"/>
+					<element name="search-results" type="eat:ui-search-results" minOccurs="0"/>
+				</sequence>
+				<attribute name="ignoreWarnings" type="xs:boolean" use="optional" default="false"/>
+				<attribute name="refresh" type="xs:boolean" use="optional" default="false"/>
+			</extension>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-index">
+		<sequence>
+			<element name="index-section" minOccurs="0" maxOccurs="unbounded">
+				<complexType>
+					<attribute name="index-key" type="xs:string" use="required"/>
+					<attribute name="count" type="xs:int" use="optional" default="0"/>
+					<attribute name="selected" type="xs:boolean" use="optional" default="false"/>
+				</complexType>
+			</element>
+		</sequence>
+	</complexType>
+	
+	<complexType name="recipe-search-criteria">
+		<sequence>
+			<element name="name" type="string" minOccurs="0"/>
+			<element name="simpleQuery" type="string" minOccurs="0"/>
+			<element name="ingredient" type="eat:recipe-ingredient" 
+				minOccurs="0" maxOccurs="unbounded">
+				<annotation><documentation>
+					To search for recipes containing sets of ingredients.
+				</documentation></annotation>
+			</element>
+			<element name="advanced" type="eat:advanced-search-criteria" 
+				minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="mode" type="xs:string"/>
+	</complexType>
+	
+	<complexType name="advanced-search-criteria">
+		<sequence>
+			<element name="query" type="xs:string" minOccurs="0"/>
+		</sequence>
+		<attribute name="type" type="xs:string" use="required"/>
+		<attribute name="op" type="xs:short" use="required"/>
+		<attribute name="choice" type="xs:string" use="optional"/>
+		<attribute name="required" type="xs:boolean" use="optional" default="false"/>
+	</complexType>
+	
+	<complexType name="ui-search-results">
+		<complexContent>
+			<extension base="eat:ui-base">
+				<sequence>
+					<element name="ui-index" type="eat:ui-index" minOccurs="0"/>
+					<element name="pagination" type="eat:ui-pagination-support" minOccurs="0"/>
+					<element name="recipe-criteria" type="eat:recipe-search-criteria"
+						minOccurs="0"/>
+					<element name="recipe" type="eat:ui-recipe-match" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="ingredient" type="eat:ui-ingredient-match" 
+						minOccurs="0" maxOccurs="unbounded"/>
+					<element name="user" type="eat:ui-user-match"
+						minOccurs="0" maxOccurs="unbounded"/>
+				</sequence>
+				<attribute name="totalResults" type="xs:int" use="required"/>
+				<attribute name="pageSize" type="xs:int" use="optional"/>
+				<attribute name="pageStart" type="xs:int" use="required"/>
+			</extension>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-recipe-match" >
+		<complexContent>
+			<extension base="eat:recipe"/>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-ingredient-match" >
+		<complexContent>
+			<extension base="eat:ingredient"/>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-user-match" >
+		<complexContent>
+			<extension base="eat:user"/>
+		</complexContent>
+	</complexType>
+	
+	<complexType name="ui-session-data">
+		<sequence>
+			<element name="acting-user" type="eat:user" minOccurs="0"/>
+		</sequence>
+		<attribute name="admin" type="xs:boolean"/>
+	</complexType>
+	
+	<complexType name="ui-pagination-support">
+		<sequence>
+			<element name="allowablePageSize" type="xs:int" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+		<attribute name="defaultPageSize" type="xs:int" use="required"/>
+		<attribute name="allowUnlimited" type="xs:boolean" use="optional" default="false"/>
+	</complexType>
+	
+	<!-- 
+		A generic meta data support object for passing configuration 
+		settings from the application to the front end.
+	-->
+	<complexType name="ui-meta-support">
+		<sequence>
+			<element name="meta" type="eat:ui-parameter" minOccurs="0" maxOccurs="unbounded"/>
+		</sequence>
+	</complexType>
+
+	<xs:complexType name="ui-parameter">
+		<xs:simpleContent>
+			<xs:extension base="xs:string">
+				<xs:attribute name="key" type="xs:string" use="required"/>
+			</xs:extension>
+		</xs:simpleContent>
+	</xs:complexType>
+
+</schema>

+ 18 - 0
hyperjaxb2-build/target/generated-sources/xjc/RoundtripTest.java

@@ -0,0 +1,18 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+public class RoundtripTest
+    extends org.jvnet.hyperjaxb2.runtime.tests.RoundtripTest
+    implements org.jvnet.jaxbcommons.xml.bind.ContextPathAware
+{
+
+
+    public java.lang.String getContextPath() {
+        return "magoffin.matt.ieat.domain";
+    }
+
+}

+ 25 - 0
hyperjaxb2-build/target/generated-sources/xjc/hibernate.cfg.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-configuration
+  PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+<hibernate-configuration>
+   <session-factory>
+      <mapping resource="magoffin/matt/ieat/domain/RecipeComment.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/MealRecipe.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/User.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Unit.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Ingredient.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Course.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Ethnicity.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/RecipeRating.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/RelationKind.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/RecipeStep.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/System.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Base.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Recipe.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/RecipeIngredient.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/PrepTime.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Difficulty.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/RelatedRecipe.hbm.xml"/>
+      <mapping resource="magoffin/matt/ieat/domain/Meal.hbm.xml"/>
+   </session-factory>
+</hibernate-configuration>

+ 114 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/AdvancedSearchCriteria.java

@@ -0,0 +1,114 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for advanced-search-criteria complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 103)
+ * <p>
+ * <pre>
+ * &lt;complexType name="advanced-search-criteria">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="query" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="choice" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="op" use="required" type="{http://www.w3.org/2001/XMLSchema}short" />
+ *       &lt;attribute name="required" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *       &lt;attribute name="type" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface AdvancedSearchCriteria {
+
+
+    /**
+     * Gets the value of the op property.
+     * 
+     */
+    short getOp();
+
+    /**
+     * Sets the value of the op property.
+     * 
+     */
+    void setOp(short value);
+
+    /**
+     * Gets the value of the type property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getType();
+
+    /**
+     * Sets the value of the type property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setType(java.lang.String value);
+
+    /**
+     * Gets the value of the choice property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getChoice();
+
+    /**
+     * Sets the value of the choice property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setChoice(java.lang.String value);
+
+    /**
+     * Gets the value of the required property.
+     * 
+     */
+    boolean isRequired();
+
+    /**
+     * Sets the value of the required property.
+     * 
+     */
+    void setRequired(boolean value);
+
+    /**
+     * Gets the value of the query property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getQuery();
+
+    /**
+     * Sets the value of the query property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setQuery(java.lang.String value);
+
+}

+ 27 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Base.hbm.xml

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Base]"
+          name="magoffin.matt.ieat.domain.Base"
+          table="base">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="BaseId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="baseid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Base'" type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Base"
+                name="magoffin.matt.ieat.domain.impl.BaseImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Base.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for base complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 16)
+ * <p>
+ * <pre>
+ * &lt;complexType name="base">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="baseId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Base {
+
+
+    /**
+     * Gets the value of the baseId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getBaseId();
+
+    /**
+     * Sets the value of the baseId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setBaseId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Course.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Course]"
+          name="magoffin.matt.ieat.domain.Course"
+          table="course">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="CourseId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="courseid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Course'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Course"
+                name="magoffin.matt.ieat.domain.impl.CourseImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Course.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for course complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 24)
+ * <p>
+ * <pre>
+ * &lt;complexType name="course">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="courseId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Course {
+
+
+    /**
+     * Gets the value of the courseId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getCourseId();
+
+    /**
+     * Sets the value of the courseId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setCourseId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Difficulty.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Difficulty]"
+          name="magoffin.matt.ieat.domain.Difficulty"
+          table="difficulty">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="DifficultyId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="difficultyid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Difficulty'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Difficulty"
+                name="magoffin.matt.ieat.domain.impl.DifficultyImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Difficulty.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for difficulty complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 32)
+ * <p>
+ * <pre>
+ * &lt;complexType name="difficulty">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="difficultyId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Difficulty {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the difficultyId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getDifficultyId();
+
+    /**
+     * Sets the value of the difficultyId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setDifficultyId(java.lang.Integer value);
+
+}

+ 26 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Edit.java

@@ -0,0 +1,26 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for edit element declaration.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 17)
+ * <p>
+ * <pre>
+ * &lt;element name="edit" type="{http://msqr.us/xsd/ieat}ui-edit"/>
+ * </pre>
+ * 
+ */
+public interface Edit
+    extends javax.xml.bind.Element, magoffin.matt.ieat.domain.UiEdit
+{
+
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ethnicity.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Ethnicity]"
+          name="magoffin.matt.ieat.domain.Ethnicity"
+          table="ethnicity">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="EthnicityId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="ethnicityid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Ethnicity'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Ethnicity"
+                name="magoffin.matt.ieat.domain.impl.EthnicityImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ethnicity.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ethnicity complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 40)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ethnicity">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="ethnicityId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Ethnicity {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the ethnicityId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getEthnicityId();
+
+    /**
+     * Sets the value of the ethnicityId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setEthnicityId(java.lang.Integer value);
+
+}

+ 33 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ingredient.hbm.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Ingredient]"
+          name="magoffin.matt.ieat.domain.Ingredient"
+          table="ingredient">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="IngredientId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="ingredientid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Ingredient'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Description">
+         <column length="512" name="description"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Name">
+         <column length="128" name="ingr_name" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Ingredient"
+                name="magoffin.matt.ieat.domain.impl.IngredientImpl"/>
+   </class>
+</hibernate-mapping>

+ 88 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ingredient.java

@@ -0,0 +1,88 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ingredient complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 48)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ingredient">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="ingredientId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Ingredient {
+
+
+    /**
+     * Gets the value of the description property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getDescription();
+
+    /**
+     * Sets the value of the description property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setDescription(java.lang.String value);
+
+    /**
+     * Gets the value of the ingredientId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getIngredientId();
+
+    /**
+     * Sets the value of the ingredientId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setIngredientId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getName();
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setName(java.lang.String value);
+
+}

+ 45 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Meal.hbm.xml

@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Meal]"
+          name="magoffin.matt.ieat.domain.Meal"
+          table="meal">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="MealId"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="mealid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Meal'" type="org.hibernate.type.StringType"/>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.User"
+                   foreign-key="meal_user_fk"
+                   insert="true"
+                   name="Owner"
+                   update="false">
+         <column name="ownerid"/>
+      </many-to-one>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="Recipe"
+            table="Meal_Recipe">
+         <cache usage="read-write"/>
+         <key foreign-key="mealrecipe_meal_fk">
+            <column name="mealid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.MealRecipe"/>
+      </list>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Name">
+         <column length="128" name="meal_name" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Meal"
+                name="magoffin.matt.ieat.domain.impl.MealImpl"/>
+   </class>
+</hibernate-mapping>

+ 112 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Meal.java

@@ -0,0 +1,112 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for meal complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 56)
+ * <p>
+ * <pre>
+ * &lt;complexType name="meal">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}meal-recipe" maxOccurs="unbounded"/>
+ *         &lt;element name="owner" type="{http://msqr.us/xsd/ieat}user" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="mealId" type="{http://www.w3.org/2001/XMLSchema}long" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Meal {
+
+
+    /**
+     * Gets the value of the owner property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    magoffin.matt.ieat.domain.User getOwner();
+
+    /**
+     * Sets the value of the owner property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    void setOwner(magoffin.matt.ieat.domain.User value);
+
+    /**
+     * Gets the value of the Recipe property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Recipe property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRecipe().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.MealRecipe}
+     * 
+     */
+    java.util.List getRecipe();
+
+    /**
+     * Gets the value of the mealId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Long}
+     */
+    java.lang.Long getMealId();
+
+    /**
+     * Sets the value of the mealId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Long}
+     */
+    void setMealId(java.lang.Long value);
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getName();
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setName(java.lang.String value);
+
+}

+ 40 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/MealRecipe.hbm.xml

@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.MealRecipe]"
+          name="magoffin.matt.ieat.domain.MealRecipe"
+          table="mealrecipe">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="Hjid"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="mealrecipeid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.MealRecipe'"
+                     type="org.hibernate.type.StringType"/>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Recipe"
+                   foreign-key="mealrecipe_recipe_fk"
+                   insert="true"
+                   name="Recipe"
+                   update="true">
+         <column name="recipeid"/>
+      </many-to-one>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Quantity">
+         <column name="quantity"/>
+         <type name="org.hibernate.type.DoubleType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Course"
+                   foreign-key="mealrecipe_course_fk"
+                   insert="true"
+                   name="Course"
+                   update="true">
+         <column name="courseid"/>
+      </many-to-one>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.MealRecipe"
+                name="magoffin.matt.ieat.domain.impl.MealRecipeImpl"/>
+   </class>
+</hibernate-mapping>

+ 94 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/MealRecipe.java

@@ -0,0 +1,94 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for meal-recipe complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 65)
+ * <p>
+ * <pre>
+ * &lt;complexType name="meal-recipe">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}recipe"/>
+ *         &lt;element name="course" type="{http://msqr.us/xsd/ieat}course"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="quantity" type="{http://www.w3.org/2001/XMLSchema}double" default="1.0" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface MealRecipe {
+
+
+    /**
+     * Gets the value of the recipe property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    magoffin.matt.ieat.domain.Recipe getRecipe();
+
+    /**
+     * Sets the value of the recipe property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    void setRecipe(magoffin.matt.ieat.domain.Recipe value);
+
+    /**
+     * Gets the value of the quantity property.
+     * 
+     */
+    double getQuantity();
+
+    /**
+     * Sets the value of the quantity property.
+     * 
+     */
+    void setQuantity(double value);
+
+    /**
+     * Gets the value of the course property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Course}
+     */
+    magoffin.matt.ieat.domain.Course getCourse();
+
+    /**
+     * Sets the value of the course property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Course}
+     */
+    void setCourse(magoffin.matt.ieat.domain.Course value);
+
+    /**
+     * Gets the value of the hjid property.
+     * 
+     */
+    java.lang.Long getHjid();
+
+    /**
+     * Sets the value of the hjid property.
+     * 
+     */
+    void setHjid(java.lang.Long value);
+
+}

+ 585 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/ObjectFactory.java

@@ -0,0 +1,585 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * This object contains factory methods for each 
+ * Java content interface and Java element interface 
+ * generated in the magoffin.matt.ieat.domain package. 
+ * <p>An ObjectFactory allows you to programatically 
+ * construct new instances of the Java representation 
+ * for XML content. The Java representation of XML 
+ * content can consist of schema derived interfaces 
+ * and classes representing the binding of schema 
+ * type definitions, element declarations and model 
+ * groups.  Factory methods for each of these are 
+ * provided in this class.
+ * 
+ */
+public class ObjectFactory
+    extends magoffin.matt.ieat.domain.impl.runtime.DefaultJAXBContextImpl
+{
+
+    private static java.util.HashMap defaultImplementations = new java.util.HashMap(51, 0.75F);
+    private static java.util.HashMap rootTagMap = new java.util.HashMap();
+    public final static magoffin.matt.ieat.domain.impl.runtime.GrammarInfo grammarInfo = new magoffin.matt.ieat.domain.impl.runtime.GrammarInfoImpl(rootTagMap, defaultImplementations, (magoffin.matt.ieat.domain.ObjectFactory.class));
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+
+    static {
+        defaultImplementations.put((magoffin.matt.ieat.domain.PrepTime.class), "magoffin.matt.ieat.domain.impl.PrepTimeImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.User.class), "magoffin.matt.ieat.domain.impl.UserImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Edit.class), "magoffin.matt.ieat.domain.impl.EditImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Ui.class), "magoffin.matt.ieat.domain.impl.UiImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RecipeIngredient.class), "magoffin.matt.ieat.domain.impl.RecipeIngredientImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiSessionData.class), "magoffin.matt.ieat.domain.impl.UiSessionDataImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiIngredientMatch.class), "magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Base.class), "magoffin.matt.ieat.domain.impl.BaseImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiEdit.class), "magoffin.matt.ieat.domain.impl.UiEditImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.System.class), "magoffin.matt.ieat.domain.impl.SystemImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RelatedRecipe.class), "magoffin.matt.ieat.domain.impl.RelatedRecipeImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RecipeComment.class), "magoffin.matt.ieat.domain.impl.RecipeCommentImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiPaginationSupport.class), "magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiSearchResults.class), "magoffin.matt.ieat.domain.impl.UiSearchResultsImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.MealRecipe.class), "magoffin.matt.ieat.domain.impl.MealRecipeImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RecipeStep.class), "magoffin.matt.ieat.domain.impl.RecipeStepImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiData.class), "magoffin.matt.ieat.domain.impl.UiDataImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiParameter.class), "magoffin.matt.ieat.domain.impl.UiParameterImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Unit.class), "magoffin.matt.ieat.domain.impl.UnitImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiMetaSupport.class), "magoffin.matt.ieat.domain.impl.UiMetaSupportImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Meal.class), "magoffin.matt.ieat.domain.impl.MealImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.SearchResults.class), "magoffin.matt.ieat.domain.impl.SearchResultsImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Ethnicity.class), "magoffin.matt.ieat.domain.impl.EthnicityImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RelationKind.class), "magoffin.matt.ieat.domain.impl.RelationKindImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiIndex.class), "magoffin.matt.ieat.domain.impl.UiIndexImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.AdvancedSearchCriteria.class), "magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiUserMatch.class), "magoffin.matt.ieat.domain.impl.UiUserMatchImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Difficulty.class), "magoffin.matt.ieat.domain.impl.DifficultyImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.SessionData.class), "magoffin.matt.ieat.domain.impl.SessionDataImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Ingredient.class), "magoffin.matt.ieat.domain.impl.IngredientImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiIndex.IndexSectionType.class), "magoffin.matt.ieat.domain.impl.UiIndexImpl$IndexSectionTypeImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiRecipeMatch.class), "magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Recipe.class), "magoffin.matt.ieat.domain.impl.RecipeImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RecipeSearchCriteria.class), "magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.Course.class), "magoffin.matt.ieat.domain.impl.CourseImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.UiBase.class), "magoffin.matt.ieat.domain.impl.UiBaseImpl");
+        defaultImplementations.put((magoffin.matt.ieat.domain.RecipeRating.class), "magoffin.matt.ieat.domain.impl.RecipeRatingImpl");
+        rootTagMap.put(new javax.xml.namespace.QName("http://msqr.us/xsd/ieat", "search-results"), (magoffin.matt.ieat.domain.SearchResults.class));
+        rootTagMap.put(new javax.xml.namespace.QName("http://msqr.us/xsd/ieat", "edit"), (magoffin.matt.ieat.domain.Edit.class));
+        rootTagMap.put(new javax.xml.namespace.QName("http://msqr.us/xsd/ieat", "ui"), (magoffin.matt.ieat.domain.Ui.class));
+        rootTagMap.put(new javax.xml.namespace.QName("http://msqr.us/xsd/ieat", "session-data"), (magoffin.matt.ieat.domain.SessionData.class));
+    }
+
+    /**
+     * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: magoffin.matt.ieat.domain
+     * 
+     */
+    public ObjectFactory() {
+        super(grammarInfo);
+    }
+
+    /**
+     * Create an instance of the specified Java content interface.
+     * 
+     * @param javaContentInterface
+     *     the Class object of the javacontent interface to instantiate
+     * @return
+     *     a new instance
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public java.lang.Object newInstance(java.lang.Class javaContentInterface)
+        throws javax.xml.bind.JAXBException
+    {
+        return super.newInstance(javaContentInterface);
+    }
+
+    /**
+     * Get the specified property. This method can only be
+     * used to get provider specific properties.
+     * Attempting to get an undefined property will result
+     * in a PropertyException being thrown.
+     * 
+     * @param name
+     *     the name of the property to retrieve
+     * @return
+     *     the value of the requested property
+     * @throws PropertyException
+     *     when there is an error retrieving the given property or value
+     */
+    public java.lang.Object getProperty(java.lang.String name)
+        throws javax.xml.bind.PropertyException
+    {
+        return super.getProperty(name);
+    }
+
+    /**
+     * Set the specified property. This method can only be
+     * used to set provider specific properties.
+     * Attempting to set an undefined property will result
+     * in a PropertyException being thrown.
+     * 
+     * @param name
+     *     the name of the property to retrieve
+     * @param value
+     *     the value of the property to be set
+     * @throws PropertyException
+     *     when there is an error processing the given property or value
+     */
+    public void setProperty(java.lang.String name, java.lang.Object value)
+        throws javax.xml.bind.PropertyException
+    {
+        super.setProperty(name, value);
+    }
+
+    /**
+     * Create an instance of PrepTime
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.PrepTime createPrepTime()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.PrepTimeImpl();
+    }
+
+    /**
+     * Create an instance of User
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.User createUser()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UserImpl();
+    }
+
+    /**
+     * Create an instance of Edit
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Edit createEdit()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.EditImpl();
+    }
+
+    /**
+     * Create an instance of Ui
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Ui createUi()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiImpl();
+    }
+
+    /**
+     * Create an instance of RecipeIngredient
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RecipeIngredient createRecipeIngredient()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeIngredientImpl();
+    }
+
+    /**
+     * Create an instance of UiSessionData
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiSessionData createUiSessionData()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiSessionDataImpl();
+    }
+
+    /**
+     * Create an instance of UiIngredientMatch
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiIngredientMatch createUiIngredientMatch()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl();
+    }
+
+    /**
+     * Create an instance of Base
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Base createBase()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.BaseImpl();
+    }
+
+    /**
+     * Create an instance of UiEdit
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiEdit createUiEdit()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiEditImpl();
+    }
+
+    /**
+     * Create an instance of System
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.System createSystem()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.SystemImpl();
+    }
+
+    /**
+     * Create an instance of RelatedRecipe
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RelatedRecipe createRelatedRecipe()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RelatedRecipeImpl();
+    }
+
+    /**
+     * Create an instance of RecipeComment
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RecipeComment createRecipeComment()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeCommentImpl();
+    }
+
+    /**
+     * Create an instance of UiPaginationSupport
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiPaginationSupport createUiPaginationSupport()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl();
+    }
+
+    /**
+     * Create an instance of UiSearchResults
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiSearchResults createUiSearchResults()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiSearchResultsImpl();
+    }
+
+    /**
+     * Create an instance of MealRecipe
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.MealRecipe createMealRecipe()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.MealRecipeImpl();
+    }
+
+    /**
+     * Create an instance of RecipeStep
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RecipeStep createRecipeStep()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeStepImpl();
+    }
+
+    /**
+     * Create an instance of UiData
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiData createUiData()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiDataImpl();
+    }
+
+    /**
+     * Create an instance of UiParameter
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiParameter createUiParameter()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiParameterImpl();
+    }
+
+    /**
+     * Create an instance of Unit
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Unit createUnit()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UnitImpl();
+    }
+
+    /**
+     * Create an instance of UiMetaSupport
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiMetaSupport createUiMetaSupport()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiMetaSupportImpl();
+    }
+
+    /**
+     * Create an instance of Meal
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Meal createMeal()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.MealImpl();
+    }
+
+    /**
+     * Create an instance of SearchResults
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.SearchResults createSearchResults()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.SearchResultsImpl();
+    }
+
+    /**
+     * Create an instance of Ethnicity
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Ethnicity createEthnicity()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.EthnicityImpl();
+    }
+
+    /**
+     * Create an instance of RelationKind
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RelationKind createRelationKind()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RelationKindImpl();
+    }
+
+    /**
+     * Create an instance of UiIndex
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiIndex createUiIndex()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiIndexImpl();
+    }
+
+    /**
+     * Create an instance of AdvancedSearchCriteria
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.AdvancedSearchCriteria createAdvancedSearchCriteria()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl();
+    }
+
+    /**
+     * Create an instance of UiUserMatch
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiUserMatch createUiUserMatch()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiUserMatchImpl();
+    }
+
+    /**
+     * Create an instance of Difficulty
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Difficulty createDifficulty()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.DifficultyImpl();
+    }
+
+    /**
+     * Create an instance of SessionData
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.SessionData createSessionData()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.SessionDataImpl();
+    }
+
+    /**
+     * Create an instance of Ingredient
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Ingredient createIngredient()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.IngredientImpl();
+    }
+
+    /**
+     * Create an instance of UiIndexIndexSectionType
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiIndex.IndexSectionType createUiIndexIndexSectionType()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl();
+    }
+
+    /**
+     * Create an instance of UiRecipeMatch
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiRecipeMatch createUiRecipeMatch()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl();
+    }
+
+    /**
+     * Create an instance of Recipe
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Recipe createRecipe()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeImpl();
+    }
+
+    /**
+     * Create an instance of RecipeSearchCriteria
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RecipeSearchCriteria createRecipeSearchCriteria()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl();
+    }
+
+    /**
+     * Create an instance of Course
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.Course createCourse()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.CourseImpl();
+    }
+
+    /**
+     * Create an instance of UiBase
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.UiBase createUiBase()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.UiBaseImpl();
+    }
+
+    /**
+     * Create an instance of RecipeRating
+     * 
+     * @throws JAXBException
+     *     if an error occurs
+     */
+    public magoffin.matt.ieat.domain.RecipeRating createRecipeRating()
+        throws javax.xml.bind.JAXBException
+    {
+        return new magoffin.matt.ieat.domain.impl.RecipeRatingImpl();
+    }
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/PrepTime.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.PrepTime]"
+          name="magoffin.matt.ieat.domain.PrepTime"
+          table="preptime">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="PrepTimeId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="preptimeid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.PrepTime'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.PrepTime"
+                name="magoffin.matt.ieat.domain.impl.PrepTimeImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/PrepTime.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for prep-time complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 73)
+ * <p>
+ * <pre>
+ * &lt;complexType name="prep-time">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="prepTimeId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface PrepTime {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the prepTimeId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getPrepTimeId();
+
+    /**
+     * Sets the value of the prepTimeId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setPrepTimeId(java.lang.Integer value);
+
+}

+ 175 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Recipe.hbm.xml

@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Recipe]"
+          name="magoffin.matt.ieat.domain.Recipe"
+          table="recipe">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="RecipeId"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="recipeid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Recipe'"
+                     type="org.hibernate.type.StringType"/>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="Comment"
+            table="Recipe_Comment_">
+         <cache usage="read-write"/>
+         <key foreign-key="recipecomment_recipe_fk">
+            <column name="recipeid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.RecipeComment"/>
+      </list>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.User"
+                   foreign-key="recipe_user_fk"
+                   insert="true"
+                   name="Owner"
+                   update="false">
+         <column name="ownerid"/>
+      </many-to-one>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Directions">
+         <column name="directions"/>
+         <type name="text"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Difficulty"
+                   foreign-key="recipe_difficulty_fk"
+                   insert="true"
+                   name="Difficulty"
+                   update="true">
+         <column name="difficultyid"/>
+      </many-to-one>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="Rating"
+            table="Recipe_Rating">
+         <cache usage="read-write"/>
+         <key foreign-key="reciperating_recipe_fk">
+            <column name="recipeid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.RecipeRating"/>
+      </list>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="RelatedRecipe"
+            table="Recipe_RelatedRecipe">
+         <cache usage="read-write"/>
+         <key foreign-key="relatedrecipe_recipe_fk">
+            <column name="recipeid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.RelatedRecipe"/>
+      </list>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="Step"
+            table="Recipe_Step">
+         <cache usage="read-write"/>
+         <key foreign-key="recipestep_recipe_fk">
+            <column name="recipeid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.RecipeStep"/>
+      </list>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="ModifiedDate">
+         <column name="modifieddate"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Image">
+         <column length="255" name="image"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Source">
+         <column length="128" name="source"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Base"
+                   foreign-key="recipe_base_fk"
+                   insert="true"
+                   name="Base"
+                   update="true">
+         <column name="baseid"/>
+      </many-to-one>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.System"
+                   foreign-key="recipe_system_fk"
+                   insert="true"
+                   name="System"
+                   update="true">
+         <column name="systemid"/>
+      </many-to-one>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Name">
+         <column length="128" name="recipe_name" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Ethnicity"
+                   foreign-key="recipe_ethnicity_fk"
+                   insert="true"
+                   name="Ethnicity"
+                   update="true">
+         <column name="ethnicityid"/>
+      </many-to-one>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="ServingSize">
+         <column name="servingsize" not-null="true"/>
+         <type name="org.hibernate.type.IntegerType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.PrepTime"
+                   foreign-key="recipe_preptime_fk"
+                   insert="true"
+                   name="PrepTime"
+                   update="true">
+         <column name="preptimeid"/>
+      </many-to-one>
+      <list access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.ListAccessor"
+            lazy="false"
+            name="Ingredient"
+            table="Recipe_Ingredient">
+         <cache usage="read-write"/>
+         <key foreign-key="recipeingredient_recipe_fk">
+            <column name="recipeid"/>
+         </key>
+         <list-index>
+            <column name="pos"/>
+         </list-index>
+         <one-to-many class="magoffin.matt.ieat.domain.RecipeIngredient"/>
+      </list>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Excerpt">
+         <column name="excerpt"/>
+         <type name="text"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="CreatedDate">
+         <column name="createddate"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Course"
+                   foreign-key="recipe_course_fk"
+                   insert="true"
+                   name="Course"
+                   update="true">
+         <column name="courseid"/>
+      </many-to-one>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Recipe"
+                name="magoffin.matt.ieat.domain.impl.RecipeImpl"/>
+   </class>
+</hibernate-mapping>

+ 455 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Recipe.java

@@ -0,0 +1,455 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 81)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="excerpt" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="source" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="directions" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="image" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="base" type="{http://msqr.us/xsd/ieat}base" minOccurs="0"/>
+ *         &lt;element name="course" type="{http://msqr.us/xsd/ieat}course" minOccurs="0"/>
+ *         &lt;element name="ethnicity" type="{http://msqr.us/xsd/ieat}ethnicity" minOccurs="0"/>
+ *         &lt;element name="difficulty" type="{http://msqr.us/xsd/ieat}difficulty" minOccurs="0"/>
+ *         &lt;element name="owner" type="{http://msqr.us/xsd/ieat}user" minOccurs="0"/>
+ *         &lt;element name="prep-time" type="{http://msqr.us/xsd/ieat}prep-time" minOccurs="0"/>
+ *         &lt;element name="system" type="{http://msqr.us/xsd/ieat}system"/>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}recipe-ingredient" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="related-recipe" type="{http://msqr.us/xsd/ieat}related-recipe" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="step" type="{http://msqr.us/xsd/ieat}recipe-step" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="comment" type="{http://msqr.us/xsd/ieat}recipe-comment" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="rating" type="{http://msqr.us/xsd/ieat}recipe-rating" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="modifiedDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="recipeId" type="{http://www.w3.org/2001/XMLSchema}long" />
+ *       &lt;attribute name="servingSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Recipe {
+
+
+    /**
+     * Gets the value of the Comment property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Comment property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getComment().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RecipeComment}
+     * 
+     */
+    java.util.List getComment();
+
+    /**
+     * Gets the value of the owner property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    magoffin.matt.ieat.domain.User getOwner();
+
+    /**
+     * Sets the value of the owner property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    void setOwner(magoffin.matt.ieat.domain.User value);
+
+    /**
+     * Gets the value of the directions property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getDirections();
+
+    /**
+     * Sets the value of the directions property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setDirections(java.lang.String value);
+
+    /**
+     * Gets the value of the difficulty property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Difficulty}
+     */
+    magoffin.matt.ieat.domain.Difficulty getDifficulty();
+
+    /**
+     * Sets the value of the difficulty property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Difficulty}
+     */
+    void setDifficulty(magoffin.matt.ieat.domain.Difficulty value);
+
+    /**
+     * Gets the value of the Rating property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Rating property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRating().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RecipeRating}
+     * 
+     */
+    java.util.List getRating();
+
+    /**
+     * Gets the value of the recipeId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Long}
+     */
+    java.lang.Long getRecipeId();
+
+    /**
+     * Sets the value of the recipeId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Long}
+     */
+    void setRecipeId(java.lang.Long value);
+
+    /**
+     * Gets the value of the RelatedRecipe property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the RelatedRecipe property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRelatedRecipe().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RelatedRecipe}
+     * 
+     */
+    java.util.List getRelatedRecipe();
+
+    /**
+     * Gets the value of the Step property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Step property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getStep().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RecipeStep}
+     * 
+     */
+    java.util.List getStep();
+
+    /**
+     * Gets the value of the modifiedDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getModifiedDate();
+
+    /**
+     * Sets the value of the modifiedDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setModifiedDate(java.util.Calendar value);
+
+    /**
+     * The URL of an image file to display with the recipe.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getImage();
+
+    /**
+     * The URL of an image file to display with the recipe.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setImage(java.lang.String value);
+
+    /**
+     * Gets the value of the source property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getSource();
+
+    /**
+     * Sets the value of the source property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setSource(java.lang.String value);
+
+    /**
+     * Gets the value of the base property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Base}
+     */
+    magoffin.matt.ieat.domain.Base getBase();
+
+    /**
+     * Sets the value of the base property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Base}
+     */
+    void setBase(magoffin.matt.ieat.domain.Base value);
+
+    /**
+     * Gets the value of the system property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.System}
+     */
+    magoffin.matt.ieat.domain.System getSystem();
+
+    /**
+     * Sets the value of the system property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.System}
+     */
+    void setSystem(magoffin.matt.ieat.domain.System value);
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getName();
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setName(java.lang.String value);
+
+    /**
+     * Gets the value of the ethnicity property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Ethnicity}
+     */
+    magoffin.matt.ieat.domain.Ethnicity getEthnicity();
+
+    /**
+     * Sets the value of the ethnicity property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Ethnicity}
+     */
+    void setEthnicity(magoffin.matt.ieat.domain.Ethnicity value);
+
+    /**
+     * Gets the value of the servingSize property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getServingSize();
+
+    /**
+     * Sets the value of the servingSize property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setServingSize(java.lang.Integer value);
+
+    /**
+     * Gets the value of the prepTime property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.PrepTime}
+     */
+    magoffin.matt.ieat.domain.PrepTime getPrepTime();
+
+    /**
+     * Sets the value of the prepTime property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.PrepTime}
+     */
+    void setPrepTime(magoffin.matt.ieat.domain.PrepTime value);
+
+    /**
+     * Gets the value of the Ingredient property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Ingredient property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIngredient().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RecipeIngredient}
+     * 
+     */
+    java.util.List getIngredient();
+
+    /**
+     * Gets the value of the excerpt property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getExcerpt();
+
+    /**
+     * Sets the value of the excerpt property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setExcerpt(java.lang.String value);
+
+    /**
+     * Gets the value of the createdDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getCreatedDate();
+
+    /**
+     * Sets the value of the createdDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setCreatedDate(java.util.Calendar value);
+
+    /**
+     * Gets the value of the course property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Course}
+     */
+    magoffin.matt.ieat.domain.Course getCourse();
+
+    /**
+     * Sets the value of the course property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Course}
+     */
+    void setCourse(magoffin.matt.ieat.domain.Course value);
+
+}

+ 38 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeComment.hbm.xml

@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RecipeComment]"
+          name="magoffin.matt.ieat.domain.RecipeComment"
+          table="recipecomment">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="CommentId"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="commentid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RecipeComment'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="UserId">
+         <column name="userid" not-null="true"/>
+         <type name="org.hibernate.type.IntegerType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="CreatedDate">
+         <column name="createddate" not-null="true"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RecipeComment"
+                name="magoffin.matt.ieat.domain.impl.RecipeCommentImpl"/>
+   </class>
+</hibernate-mapping>

+ 104 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeComment.java

@@ -0,0 +1,104 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe-comment complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 113)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe-comment">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="commentId" type="{http://www.w3.org/2001/XMLSchema}long" />
+ *       &lt;attribute name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="userId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RecipeComment {
+
+
+    /**
+     * Gets the value of the userId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getUserId();
+
+    /**
+     * Sets the value of the userId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setUserId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the createdDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getCreatedDate();
+
+    /**
+     * Sets the value of the createdDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setCreatedDate(java.util.Calendar value);
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the commentId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Long}
+     */
+    java.lang.Long getCommentId();
+
+    /**
+     * Sets the value of the commentId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Long}
+     */
+    void setCommentId(java.lang.Long value);
+
+}

+ 57 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeIngredient.hbm.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RecipeIngredient]"
+          name="magoffin.matt.ieat.domain.RecipeIngredient"
+          table="recipeingredient">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="Hjid"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="recipeingredientid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RecipeIngredient'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Optional">
+         <column name="optional" not-null="true"/>
+         <type name="org.hibernate.type.BooleanType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Ingredient"
+                   foreign-key="recipeingredient_ingredient_fk"
+                   insert="true"
+                   name="Ingredient"
+                   update="true">
+         <column name="ingredientid"/>
+      </many-to-one>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Recipe"
+                   foreign-key="recipeingredient_ingredientrecipe_fk"
+                   insert="true"
+                   name="Recipe"
+                   update="true">
+         <column name="ingredientrecipeid"/>
+      </many-to-one>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Quantity">
+         <column name="quantity" not-null="true"/>
+         <type name="org.hibernate.type.DoubleType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Qualifier">
+         <column length="255" name="qualifier"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Unit"
+                   foreign-key="recipeingredient_unit_fk"
+                   insert="true"
+                   name="Unit"
+                   update="true">
+         <column name="unitid"/>
+      </many-to-one>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RecipeIngredient"
+                name="magoffin.matt.ieat.domain.impl.RecipeIngredientImpl"/>
+   </class>
+</hibernate-mapping>

+ 145 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeIngredient.java

@@ -0,0 +1,145 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe-ingredient complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 123)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe-ingredient">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="unit" type="{http://msqr.us/xsd/ieat}unit" minOccurs="0"/>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}ingredient" minOccurs="0"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}recipe" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="optional" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *       &lt;attribute name="qualifier" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="quantity" type="{http://www.w3.org/2001/XMLSchema}double" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RecipeIngredient {
+
+
+    /**
+     * Gets the value of the optional property.
+     * 
+     */
+    boolean isOptional();
+
+    /**
+     * Sets the value of the optional property.
+     * 
+     */
+    void setOptional(boolean value);
+
+    /**
+     * Gets the value of the ingredient property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Ingredient}
+     */
+    magoffin.matt.ieat.domain.Ingredient getIngredient();
+
+    /**
+     * Sets the value of the ingredient property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Ingredient}
+     */
+    void setIngredient(magoffin.matt.ieat.domain.Ingredient value);
+
+    /**
+     * Gets the value of the recipe property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    magoffin.matt.ieat.domain.Recipe getRecipe();
+
+    /**
+     * Sets the value of the recipe property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    void setRecipe(magoffin.matt.ieat.domain.Recipe value);
+
+    /**
+     * Gets the value of the quantity property.
+     * 
+     */
+    double getQuantity();
+
+    /**
+     * Sets the value of the quantity property.
+     * 
+     */
+    void setQuantity(double value);
+
+    /**
+     * Gets the value of the qualifier property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getQualifier();
+
+    /**
+     * Sets the value of the qualifier property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setQualifier(java.lang.String value);
+
+    /**
+     * Gets the value of the unit property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Unit}
+     */
+    magoffin.matt.ieat.domain.Unit getUnit();
+
+    /**
+     * Sets the value of the unit property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Unit}
+     */
+    void setUnit(magoffin.matt.ieat.domain.Unit value);
+
+    /**
+     * Gets the value of the hjid property.
+     * 
+     */
+    java.lang.Long getHjid();
+
+    /**
+     * Sets the value of the hjid property.
+     * 
+     */
+    void setHjid(java.lang.Long value);
+
+}

+ 36 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeRating.hbm.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RecipeRating]"
+          name="magoffin.matt.ieat.domain.RecipeRating"
+          table="reciperating">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="RatingId"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="ratingid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RecipeRating'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="UserId">
+         <column name="userid" not-null="true"/>
+         <type name="org.hibernate.type.IntegerType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Rating">
+         <column name="rating" not-null="true"/>
+         <type name="org.hibernate.type.ShortType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="CreatedDate">
+         <column name="createddate" not-null="true"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RecipeRating"
+                name="magoffin.matt.ieat.domain.impl.RecipeRatingImpl"/>
+   </class>
+</hibernate-mapping>

+ 99 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeRating.java

@@ -0,0 +1,99 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe-rating complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 137)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe-rating">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="rating" type="{http://www.w3.org/2001/XMLSchema}short" />
+ *       &lt;attribute name="ratingId" type="{http://www.w3.org/2001/XMLSchema}long" />
+ *       &lt;attribute name="userId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RecipeRating {
+
+
+    /**
+     * Gets the value of the ratingId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Long}
+     */
+    java.lang.Long getRatingId();
+
+    /**
+     * Sets the value of the ratingId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Long}
+     */
+    void setRatingId(java.lang.Long value);
+
+    /**
+     * Gets the value of the userId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getUserId();
+
+    /**
+     * Sets the value of the userId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setUserId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the rating property.
+     * 
+     */
+    short getRating();
+
+    /**
+     * Sets the value of the rating property.
+     * 
+     */
+    void setRating(short value);
+
+    /**
+     * Gets the value of the createdDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getCreatedDate();
+
+    /**
+     * Sets the value of the createdDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setCreatedDate(java.util.Calendar value);
+
+}

+ 137 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeSearchCriteria.java

@@ -0,0 +1,137 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe-search-criteria complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 87)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe-search-criteria">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="simpleQuery" type="{http://www.w3.org/2001/XMLSchema}string" minOccurs="0"/>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}recipe-ingredient" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="advanced" type="{http://msqr.us/xsd/ieat}advanced-search-criteria" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="mode" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RecipeSearchCriteria {
+
+
+    /**
+     * Gets the value of the Advanced property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Advanced property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAdvanced().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.AdvancedSearchCriteria}
+     * 
+     */
+    java.util.List getAdvanced();
+
+    /**
+     * Gets the value of the simpleQuery property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getSimpleQuery();
+
+    /**
+     * Sets the value of the simpleQuery property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setSimpleQuery(java.lang.String value);
+
+    /**
+     * To search for recipes containing sets of ingredients.
+     * Gets the value of the Ingredient property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Ingredient property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIngredient().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.RecipeIngredient}
+     * 
+     */
+    java.util.List getIngredient();
+
+    /**
+     * Gets the value of the mode property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getMode();
+
+    /**
+     * Sets the value of the mode property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setMode(java.lang.String value);
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getName();
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setName(java.lang.String value);
+
+}

+ 26 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeStep.hbm.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RecipeStep]"
+          name="magoffin.matt.ieat.domain.RecipeStep"
+          table="recipestep">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="Hjid"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="stepid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RecipeStep'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RecipeStep"
+                name="magoffin.matt.ieat.domain.impl.RecipeStepImpl"/>
+   </class>
+</hibernate-mapping>

+ 59 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RecipeStep.java

@@ -0,0 +1,59 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for recipe-step complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 144)
+ * <p>
+ * <pre>
+ * &lt;complexType name="recipe-step">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RecipeStep {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the hjid property.
+     * 
+     */
+    java.lang.Long getHjid();
+
+    /**
+     * Sets the value of the hjid property.
+     * 
+     */
+    void setHjid(java.lang.Long value);
+
+}

+ 35 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelatedRecipe.hbm.xml

@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RelatedRecipe]"
+          name="magoffin.matt.ieat.domain.RelatedRecipe"
+          table="relatedrecipe">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="Hjid"
+          type="org.hibernate.type.LongType"
+          unsaved-value="null">
+         <column name="relatedrecipeid" not-null="true"/>
+         <generator class="native"/>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RelatedRecipe'"
+                     type="org.hibernate.type.StringType"/>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.Recipe"
+                   foreign-key="relatedrecipe_recipe_fk"
+                   insert="true"
+                   name="Recipe"
+                   update="true">
+         <column name="recipeid"/>
+      </many-to-one>
+      <many-to-one cascade="none" class="magoffin.matt.ieat.domain.RelationKind"
+                   foreign-key="relatedrecipe_relationkind_fk"
+                   insert="true"
+                   name="Kind"
+                   update="true">
+         <column name="relationkindid"/>
+      </many-to-one>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RelatedRecipe"
+                name="magoffin.matt.ieat.domain.impl.RelatedRecipeImpl"/>
+   </class>
+</hibernate-mapping>

+ 81 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelatedRecipe.java

@@ -0,0 +1,81 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for related-recipe complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 150)
+ * <p>
+ * <pre>
+ * &lt;complexType name="related-recipe">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="kind" type="{http://msqr.us/xsd/ieat}relation-kind"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}recipe"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RelatedRecipe {
+
+
+    /**
+     * Gets the value of the recipe property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    magoffin.matt.ieat.domain.Recipe getRecipe();
+
+    /**
+     * Sets the value of the recipe property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    void setRecipe(magoffin.matt.ieat.domain.Recipe value);
+
+    /**
+     * Gets the value of the kind property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.RelationKind}
+     */
+    magoffin.matt.ieat.domain.RelationKind getKind();
+
+    /**
+     * Sets the value of the kind property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.RelationKind}
+     */
+    void setKind(magoffin.matt.ieat.domain.RelationKind value);
+
+    /**
+     * Gets the value of the hjid property.
+     * 
+     */
+    java.lang.Long getHjid();
+
+    /**
+     * Sets the value of the hjid property.
+     * 
+     */
+    void setHjid(java.lang.Long value);
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelationKind.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.RelationKind]"
+          name="magoffin.matt.ieat.domain.RelationKind"
+          table="relationkind">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="RelationKindId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="relationkindid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.RelationKind'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.RelationKind"
+                name="magoffin.matt.ieat.domain.impl.RelationKindImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/RelationKind.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for relation-kind complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 157)
+ * <p>
+ * <pre>
+ * &lt;complexType name="relation-kind">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="relationKindId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface RelationKind {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the relationKindId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getRelationKindId();
+
+    /**
+     * Sets the value of the relationKindId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setRelationKindId(java.lang.Integer value);
+
+}

+ 26 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/SearchResults.java

@@ -0,0 +1,26 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for search-results element declaration.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 19)
+ * <p>
+ * <pre>
+ * &lt;element name="search-results" type="{http://msqr.us/xsd/ieat}ui-search-results"/>
+ * </pre>
+ * 
+ */
+public interface SearchResults
+    extends javax.xml.bind.Element, magoffin.matt.ieat.domain.UiSearchResults
+{
+
+
+}

+ 26 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/SessionData.java

@@ -0,0 +1,26 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for session-data element declaration.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 21)
+ * <p>
+ * <pre>
+ * &lt;element name="session-data" type="{http://msqr.us/xsd/ieat}ui-session-data"/>
+ * </pre>
+ * 
+ */
+public interface SessionData
+    extends javax.xml.bind.Element, magoffin.matt.ieat.domain.UiSessionData
+{
+
+
+}

+ 28 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/System.hbm.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.System]"
+          name="magoffin.matt.ieat.domain.System"
+          table="measurement_system">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="SystemId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="systemid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.System'"
+                     type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.System"
+                name="magoffin.matt.ieat.domain.impl.SystemImpl"/>
+   </class>
+</hibernate-mapping>

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/System.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for system complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 165)
+ * <p>
+ * <pre>
+ * &lt;complexType name="system">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="systemId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface System {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the systemId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getSystemId();
+
+    /**
+     * Sets the value of the systemId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setSystemId(java.lang.Integer value);
+
+}

+ 26 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Ui.java

@@ -0,0 +1,26 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui element declaration.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 15)
+ * <p>
+ * <pre>
+ * &lt;element name="ui" type="{http://msqr.us/xsd/ieat}ui-data"/>
+ * </pre>
+ * 
+ */
+public interface Ui
+    extends javax.xml.bind.Element, magoffin.matt.ieat.domain.UiData
+{
+
+
+}

+ 48 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiBase.java

@@ -0,0 +1,48 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-base complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 23)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-base">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;attribute name="mode" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiBase {
+
+
+    /**
+     * Gets the value of the mode property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getMode();
+
+    /**
+     * Sets the value of the mode property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setMode(java.lang.String value);
+
+}

+ 311 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiData.java

@@ -0,0 +1,311 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-data complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 27)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-data">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}ui-base">
+ *       &lt;sequence>
+ *         &lt;element name="search-results" type="{http://msqr.us/xsd/ieat}ui-search-results" minOccurs="0"/>
+ *         &lt;element name="meta-support" type="{http://msqr.us/xsd/ieat}ui-meta-support" minOccurs="0"/>
+ *         &lt;element name="base" type="{http://msqr.us/xsd/ieat}base" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="course" type="{http://msqr.us/xsd/ieat}course" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="difficulty" type="{http://msqr.us/xsd/ieat}difficulty" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ethnicity" type="{http://msqr.us/xsd/ieat}ethnicity" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}ingredient" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="prep-time" type="{http://msqr.us/xsd/ieat}prep-time" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}recipe" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="system" type="{http://msqr.us/xsd/ieat}system" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="unit" type="{http://msqr.us/xsd/ieat}unit" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="meal" type="{http://msqr.us/xsd/ieat}meal" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiData
+    extends magoffin.matt.ieat.domain.UiBase
+{
+
+
+    /**
+     * Gets the value of the Ethnicity property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Ethnicity property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getEthnicity().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Ethnicity}
+     * 
+     */
+    java.util.List getEthnicity();
+
+    /**
+     * Gets the value of the Ingredient property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Ingredient property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIngredient().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Ingredient}
+     * 
+     */
+    java.util.List getIngredient();
+
+    /**
+     * Gets the value of the PrepTime property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the PrepTime property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getPrepTime().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.PrepTime}
+     * 
+     */
+    java.util.List getPrepTime();
+
+    /**
+     * Gets the value of the Recipe property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Recipe property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRecipe().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Recipe}
+     * 
+     */
+    java.util.List getRecipe();
+
+    /**
+     * Gets the value of the Difficulty property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Difficulty property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getDifficulty().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Difficulty}
+     * 
+     */
+    java.util.List getDifficulty();
+
+    /**
+     * Gets the value of the Meal property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Meal property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getMeal().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Meal}
+     * 
+     */
+    java.util.List getMeal();
+
+    /**
+     * Gets the value of the metaSupport property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.UiMetaSupport}
+     */
+    magoffin.matt.ieat.domain.UiMetaSupport getMetaSupport();
+
+    /**
+     * Sets the value of the metaSupport property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.UiMetaSupport}
+     */
+    void setMetaSupport(magoffin.matt.ieat.domain.UiMetaSupport value);
+
+    /**
+     * Gets the value of the searchResults property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.UiSearchResults}
+     */
+    magoffin.matt.ieat.domain.UiSearchResults getSearchResults();
+
+    /**
+     * Sets the value of the searchResults property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.UiSearchResults}
+     */
+    void setSearchResults(magoffin.matt.ieat.domain.UiSearchResults value);
+
+    /**
+     * Gets the value of the Course property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Course property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getCourse().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Course}
+     * 
+     */
+    java.util.List getCourse();
+
+    /**
+     * Gets the value of the Unit property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Unit property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getUnit().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Unit}
+     * 
+     */
+    java.util.List getUnit();
+
+    /**
+     * Gets the value of the Base property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Base property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getBase().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.Base}
+     * 
+     */
+    java.util.List getBase();
+
+    /**
+     * Gets the value of the System property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the System property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getSystem().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.System}
+     * 
+     */
+    java.util.List getSystem();
+
+}

+ 173 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiEdit.java

@@ -0,0 +1,173 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-edit complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 58)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-edit">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}ui-base">
+ *       &lt;sequence>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}ingredient" minOccurs="0"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}recipe" minOccurs="0"/>
+ *         &lt;element name="user" type="{http://msqr.us/xsd/ieat}user" minOccurs="0"/>
+ *         &lt;element name="meal" type="{http://msqr.us/xsd/ieat}meal" minOccurs="0"/>
+ *         &lt;element name="meal-recipe" type="{http://msqr.us/xsd/ieat}meal-recipe" minOccurs="0"/>
+ *         &lt;element name="search-results" type="{http://msqr.us/xsd/ieat}ui-search-results" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="ignoreWarnings" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *       &lt;attribute name="refresh" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiEdit
+    extends magoffin.matt.ieat.domain.UiBase
+{
+
+
+    /**
+     * Gets the value of the refresh property.
+     * 
+     */
+    boolean isRefresh();
+
+    /**
+     * Sets the value of the refresh property.
+     * 
+     */
+    void setRefresh(boolean value);
+
+    /**
+     * Gets the value of the user property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    magoffin.matt.ieat.domain.User getUser();
+
+    /**
+     * Sets the value of the user property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    void setUser(magoffin.matt.ieat.domain.User value);
+
+    /**
+     * Gets the value of the mealRecipe property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.MealRecipe}
+     */
+    magoffin.matt.ieat.domain.MealRecipe getMealRecipe();
+
+    /**
+     * Sets the value of the mealRecipe property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.MealRecipe}
+     */
+    void setMealRecipe(magoffin.matt.ieat.domain.MealRecipe value);
+
+    /**
+     * Gets the value of the ingredient property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Ingredient}
+     */
+    magoffin.matt.ieat.domain.Ingredient getIngredient();
+
+    /**
+     * Sets the value of the ingredient property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Ingredient}
+     */
+    void setIngredient(magoffin.matt.ieat.domain.Ingredient value);
+
+    /**
+     * Gets the value of the recipe property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    magoffin.matt.ieat.domain.Recipe getRecipe();
+
+    /**
+     * Sets the value of the recipe property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Recipe}
+     */
+    void setRecipe(magoffin.matt.ieat.domain.Recipe value);
+
+    /**
+     * Gets the value of the meal property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.Meal}
+     */
+    magoffin.matt.ieat.domain.Meal getMeal();
+
+    /**
+     * Sets the value of the meal property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.Meal}
+     */
+    void setMeal(magoffin.matt.ieat.domain.Meal value);
+
+    /**
+     * Gets the value of the ignoreWarnings property.
+     * 
+     */
+    boolean isIgnoreWarnings();
+
+    /**
+     * Sets the value of the ignoreWarnings property.
+     * 
+     */
+    void setIgnoreWarnings(boolean value);
+
+    /**
+     * Gets the value of the searchResults property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.UiSearchResults}
+     */
+    magoffin.matt.ieat.domain.UiSearchResults getSearchResults();
+
+    /**
+     * Sets the value of the searchResults property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.UiSearchResults}
+     */
+    void setSearchResults(magoffin.matt.ieat.domain.UiSearchResults value);
+
+}

+ 136 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiIndex.java

@@ -0,0 +1,136 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-index complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 75)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-index">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="index-section" maxOccurs="unbounded" minOccurs="0">
+ *           &lt;complexType>
+ *             &lt;complexContent>
+ *               &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *                 &lt;attribute name="count" type="{http://www.w3.org/2001/XMLSchema}int" default="0" />
+ *                 &lt;attribute name="index-key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *                 &lt;attribute name="selected" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *               &lt;/restriction>
+ *             &lt;/complexContent>
+ *           &lt;/complexType>
+ *         &lt;/element>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiIndex {
+
+
+    /**
+     * Gets the value of the IndexSection property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the IndexSection property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIndexSection().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.UiIndex.IndexSectionType}
+     * 
+     */
+    java.util.List getIndexSection();
+
+
+    /**
+     * Java content class for anonymous complex type.
+     * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 78)
+     * <p>
+     * <pre>
+     * &lt;complexType>
+     *   &lt;complexContent>
+     *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+     *       &lt;attribute name="count" type="{http://www.w3.org/2001/XMLSchema}int" default="0" />
+     *       &lt;attribute name="index-key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+     *       &lt;attribute name="selected" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+     *     &lt;/restriction>
+     *   &lt;/complexContent>
+     * &lt;/complexType>
+     * </pre>
+     * 
+     */
+    public interface IndexSectionType {
+
+
+        /**
+         * Gets the value of the indexKey property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link java.lang.String}
+         */
+        java.lang.String getIndexKey();
+
+        /**
+         * Sets the value of the indexKey property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link java.lang.String}
+         */
+        void setIndexKey(java.lang.String value);
+
+        /**
+         * Gets the value of the count property.
+         * 
+         * @return
+         *     possible object is
+         *     {@link java.lang.Integer}
+         */
+        java.lang.Integer getCount();
+
+        /**
+         * Sets the value of the count property.
+         * 
+         * @param value
+         *     allowed object is
+         *     {@link java.lang.Integer}
+         */
+        void setCount(java.lang.Integer value);
+
+        /**
+         * Gets the value of the selected property.
+         * 
+         */
+        boolean isSelected();
+
+        /**
+         * Sets the value of the selected property.
+         * 
+         */
+        void setSelected(boolean value);
+
+    }
+
+}

+ 31 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiIngredientMatch.java

@@ -0,0 +1,31 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-ingredient-match complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 141)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-ingredient-match">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}ingredient">
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiIngredientMatch
+    extends magoffin.matt.ieat.domain.Ingredient
+{
+
+
+}

+ 55 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiMetaSupport.java

@@ -0,0 +1,55 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-meta-support complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 172)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-meta-support">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="meta" type="{http://msqr.us/xsd/ieat}ui-parameter" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiMetaSupport {
+
+
+    /**
+     * Gets the value of the Meta property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Meta property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getMeta().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.UiParameter}
+     * 
+     */
+    java.util.List getMeta();
+
+}

+ 87 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiPaginationSupport.java

@@ -0,0 +1,87 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-pagination-support complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 160)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-pagination-support">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="allowablePageSize" type="{http://www.w3.org/2001/XMLSchema}int" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="allowUnlimited" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *       &lt;attribute name="defaultPageSize" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiPaginationSupport {
+
+
+    /**
+     * Gets the value of the defaultPageSize property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getDefaultPageSize();
+
+    /**
+     * Sets the value of the defaultPageSize property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setDefaultPageSize(java.lang.Integer value);
+
+    /**
+     * Gets the value of the allowUnlimited property.
+     * 
+     */
+    boolean isAllowUnlimited();
+
+    /**
+     * Sets the value of the allowUnlimited property.
+     * 
+     */
+    void setAllowUnlimited(boolean value);
+
+    /**
+     * Gets the value of the AllowablePageSize property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the AllowablePageSize property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getAllowablePageSize().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link java.lang.Integer}
+     * 
+     */
+    java.util.List getAllowablePageSize();
+
+}

+ 66 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiParameter.java

@@ -0,0 +1,66 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-parameter complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 178)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-parameter">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="key" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiParameter {
+
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the key property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getKey();
+
+    /**
+     * Sets the value of the key property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setKey(java.lang.String value);
+
+}

+ 31 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiRecipeMatch.java

@@ -0,0 +1,31 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-recipe-match complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 135)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-recipe-match">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}recipe">
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiRecipeMatch
+    extends magoffin.matt.ieat.domain.Recipe
+{
+
+
+}

+ 219 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiSearchResults.java

@@ -0,0 +1,219 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-search-results complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 113)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-search-results">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}ui-base">
+ *       &lt;sequence>
+ *         &lt;element name="ui-index" type="{http://msqr.us/xsd/ieat}ui-index" minOccurs="0"/>
+ *         &lt;element name="pagination" type="{http://msqr.us/xsd/ieat}ui-pagination-support" minOccurs="0"/>
+ *         &lt;element name="recipe-criteria" type="{http://msqr.us/xsd/ieat}recipe-search-criteria" minOccurs="0"/>
+ *         &lt;element name="recipe" type="{http://msqr.us/xsd/ieat}ui-recipe-match" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="ingredient" type="{http://msqr.us/xsd/ieat}ui-ingredient-match" maxOccurs="unbounded" minOccurs="0"/>
+ *         &lt;element name="user" type="{http://msqr.us/xsd/ieat}ui-user-match" maxOccurs="unbounded" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="pageSize" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *       &lt;attribute name="pageStart" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *       &lt;attribute name="totalResults" use="required" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiSearchResults
+    extends magoffin.matt.ieat.domain.UiBase
+{
+
+
+    /**
+     * Gets the value of the pagination property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.UiPaginationSupport}
+     */
+    magoffin.matt.ieat.domain.UiPaginationSupport getPagination();
+
+    /**
+     * Sets the value of the pagination property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.UiPaginationSupport}
+     */
+    void setPagination(magoffin.matt.ieat.domain.UiPaginationSupport value);
+
+    /**
+     * Gets the value of the User property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the User property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getUser().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.UiUserMatch}
+     * 
+     */
+    java.util.List getUser();
+
+    /**
+     * Gets the value of the pageSize property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getPageSize();
+
+    /**
+     * Sets the value of the pageSize property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setPageSize(java.lang.Integer value);
+
+    /**
+     * Gets the value of the pageStart property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getPageStart();
+
+    /**
+     * Sets the value of the pageStart property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setPageStart(java.lang.Integer value);
+
+    /**
+     * Gets the value of the Recipe property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Recipe property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getRecipe().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.UiRecipeMatch}
+     * 
+     */
+    java.util.List getRecipe();
+
+    /**
+     * Gets the value of the Ingredient property.
+     * 
+     * <p>
+     * This accessor method returns a reference to the live list,
+     * not a snapshot. Therefore any modification you make to the
+     * returned list will be present inside the JAXB object.
+     * This is why there is not a <CODE>set</CODE> method for the Ingredient property.
+     * 
+     * <p>
+     * For example, to add a new item, do as follows:
+     * <pre>
+     *    getIngredient().add(newItem);
+     * </pre>
+     * 
+     * 
+     * <p>
+     * Objects of the following type(s) are allowed in the list
+     * {@link magoffin.matt.ieat.domain.UiIngredientMatch}
+     * 
+     */
+    java.util.List getIngredient();
+
+    /**
+     * Gets the value of the uiIndex property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.UiIndex}
+     */
+    magoffin.matt.ieat.domain.UiIndex getUiIndex();
+
+    /**
+     * Sets the value of the uiIndex property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.UiIndex}
+     */
+    void setUiIndex(magoffin.matt.ieat.domain.UiIndex value);
+
+    /**
+     * Gets the value of the totalResults property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getTotalResults();
+
+    /**
+     * Sets the value of the totalResults property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setTotalResults(java.lang.Integer value);
+
+    /**
+     * Gets the value of the recipeCriteria property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.RecipeSearchCriteria}
+     */
+    magoffin.matt.ieat.domain.RecipeSearchCriteria getRecipeCriteria();
+
+    /**
+     * Sets the value of the recipeCriteria property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.RecipeSearchCriteria}
+     */
+    void setRecipeCriteria(magoffin.matt.ieat.domain.RecipeSearchCriteria value);
+
+}

+ 63 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiSessionData.java

@@ -0,0 +1,63 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-session-data complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 153)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-session-data">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="acting-user" type="{http://msqr.us/xsd/ieat}user" minOccurs="0"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="admin" type="{http://www.w3.org/2001/XMLSchema}boolean" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiSessionData {
+
+
+    /**
+     * Gets the value of the actingUser property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    magoffin.matt.ieat.domain.User getActingUser();
+
+    /**
+     * Sets the value of the actingUser property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link magoffin.matt.ieat.domain.User}
+     */
+    void setActingUser(magoffin.matt.ieat.domain.User value);
+
+    /**
+     * Gets the value of the admin property.
+     * 
+     */
+    boolean isAdmin();
+
+    /**
+     * Sets the value of the admin property.
+     * 
+     */
+    void setAdmin(boolean value);
+
+}

+ 31 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/UiUserMatch.java

@@ -0,0 +1,31 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for ui-user-match complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/ui.xsd line 147)
+ * <p>
+ * <pre>
+ * &lt;complexType name="ui-user-match">
+ *   &lt;complexContent>
+ *     &lt;extension base="{http://msqr.us/xsd/ieat}user">
+ *     &lt;/extension>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface UiUserMatch
+    extends magoffin.matt.ieat.domain.User
+{
+
+
+}

+ 57 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Unit.hbm.xml

@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.Unit]"
+          name="magoffin.matt.ieat.domain.Unit"
+          table="unit">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="UnitId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="unitid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.Unit'" type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Abbreviation">
+         <column length="8" name="abbreviation" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Mass">
+         <column name="mass" not-null="true"/>
+         <type name="org.hibernate.type.BooleanType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="ToImperial">
+         <column name="toimperial"/>
+         <type name="org.hibernate.type.DoubleType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Value">
+         <column name="Value_"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="SystemId">
+         <column name="systemid"/>
+         <type name="org.hibernate.type.IntegerType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="ToMetric">
+         <column name="tometric"/>
+         <type name="org.hibernate.type.DoubleType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="ToUS">
+         <column name="tous"/>
+         <type name="org.hibernate.type.DoubleType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.Unit"
+                name="magoffin.matt.ieat.domain.impl.UnitImpl"/>
+   </class>
+</hibernate-mapping>

+ 156 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/Unit.java

@@ -0,0 +1,156 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for unit complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 173)
+ * <p>
+ * <pre>
+ * &lt;complexType name="unit">
+ *   &lt;simpleContent>
+ *     &lt;extension base="&lt;http://www.w3.org/2001/XMLSchema>string">
+ *       &lt;attribute name="abbreviation" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="mass" type="{http://www.w3.org/2001/XMLSchema}boolean" default="false" />
+ *       &lt;attribute name="systemId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *       &lt;attribute name="toImperial" type="{http://www.w3.org/2001/XMLSchema}double" />
+ *       &lt;attribute name="toMetric" type="{http://www.w3.org/2001/XMLSchema}double" />
+ *       &lt;attribute name="toUS" type="{http://www.w3.org/2001/XMLSchema}double" />
+ *       &lt;attribute name="unitId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/extension>
+ *   &lt;/simpleContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface Unit {
+
+
+    /**
+     * Gets the value of the abbreviation property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getAbbreviation();
+
+    /**
+     * Sets the value of the abbreviation property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setAbbreviation(java.lang.String value);
+
+    /**
+     * Gets the value of the mass property.
+     * 
+     */
+    boolean isMass();
+
+    /**
+     * Sets the value of the mass property.
+     * 
+     */
+    void setMass(boolean value);
+
+    /**
+     * Gets the value of the toImperial property.
+     * 
+     */
+    double getToImperial();
+
+    /**
+     * Sets the value of the toImperial property.
+     * 
+     */
+    void setToImperial(double value);
+
+    /**
+     * Gets the value of the unitId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getUnitId();
+
+    /**
+     * Sets the value of the unitId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setUnitId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the value property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getValue();
+
+    /**
+     * Sets the value of the value property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setValue(java.lang.String value);
+
+    /**
+     * Gets the value of the systemId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getSystemId();
+
+    /**
+     * Sets the value of the systemId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setSystemId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the toMetric property.
+     * 
+     */
+    double getToMetric();
+
+    /**
+     * Sets the value of the toMetric property.
+     * 
+     */
+    void setToMetric(double value);
+
+    /**
+     * Gets the value of the toUS property.
+     * 
+     */
+    double getToUS();
+
+    /**
+     * Sets the value of the toUS property.
+     * 
+     */
+    void setToUS(double value);
+
+}

+ 67 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/User.hbm.xml

@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE hibernate-mapping
+  PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+<hibernate-mapping auto-import="false" default-cascade="all-delete-orphan" default-lazy="false">
+   <class discriminator-value="[magoffin.matt.ieat.domain.User]"
+          name="magoffin.matt.ieat.domain.User"
+          table="users">
+      <cache usage="read-write"/>
+      <id access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+          name="UserId"
+          type="org.hibernate.type.IntegerType"
+          unsaved-value="null">
+         <column name="userid" not-null="true"/>
+         <generator class="native">
+            <param name="sequence">hibernate_integer_seq</param>
+         </generator>
+      </id>
+      <discriminator formula="'magoffin.matt.ieat.domain.User'" type="org.hibernate.type.StringType"/>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Email">
+         <column length="128" name="email" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Language">
+         <column length="3" name="language" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="CreatedDate">
+         <column name="createddate" not-null="true"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="LastLoginDate">
+         <column name="lastlogindate"/>
+         <type name="org.jvnet.hyperjaxb2.runtime.hibernate.type.CalendarType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Country">
+         <column length="3" name="country" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Login">
+         <column length="32" name="login" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="AccessLevel">
+         <column name="accesslevel"/>
+         <type name="org.hibernate.type.IntegerType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Name">
+         <column length="64" name="user_name" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <property access="org.jvnet.hyperjaxb2.runtime.hibernate.accessor.CheckingPropertyAccessor"
+                name="Password">
+         <column length="64" name="password" not-null="true"/>
+         <type name="org.hibernate.type.StringType"/>
+      </property>
+      <subclass discriminator-value="magoffin.matt.ieat.domain.User"
+                name="magoffin.matt.ieat.domain.impl.UserImpl"/>
+   </class>
+</hibernate-mapping>

+ 221 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/User.java

@@ -0,0 +1,221 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain;
+
+
+/**
+ * Java content class for user complex type.
+ * <p>The following schema fragment specifies the expected content contained within this java content object. (defined at file:/home/tom/workspace/iEat/hyperjaxb2-build/src/main/resources/core.xsd line 187)
+ * <p>
+ * <pre>
+ * &lt;complexType name="user">
+ *   &lt;complexContent>
+ *     &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
+ *       &lt;sequence>
+ *         &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="email" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *         &lt;element name="password" type="{http://www.w3.org/2001/XMLSchema}string"/>
+ *       &lt;/sequence>
+ *       &lt;attribute name="accessLevel" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *       &lt;attribute name="country" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="createdDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="language" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="lastLoginDate" type="{http://www.w3.org/2001/XMLSchema}dateTime" />
+ *       &lt;attribute name="login" type="{http://www.w3.org/2001/XMLSchema}string" />
+ *       &lt;attribute name="userId" type="{http://www.w3.org/2001/XMLSchema}int" />
+ *     &lt;/restriction>
+ *   &lt;/complexContent>
+ * &lt;/complexType>
+ * </pre>
+ * 
+ */
+public interface User {
+
+
+    /**
+     * Gets the value of the email property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getEmail();
+
+    /**
+     * Sets the value of the email property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setEmail(java.lang.String value);
+
+    /**
+     * Gets the value of the language property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getLanguage();
+
+    /**
+     * Sets the value of the language property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setLanguage(java.lang.String value);
+
+    /**
+     * Gets the value of the userId property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getUserId();
+
+    /**
+     * Sets the value of the userId property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setUserId(java.lang.Integer value);
+
+    /**
+     * Gets the value of the createdDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getCreatedDate();
+
+    /**
+     * Sets the value of the createdDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setCreatedDate(java.util.Calendar value);
+
+    /**
+     * Gets the value of the lastLoginDate property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.util.Calendar}
+     */
+    java.util.Calendar getLastLoginDate();
+
+    /**
+     * Sets the value of the lastLoginDate property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.util.Calendar}
+     */
+    void setLastLoginDate(java.util.Calendar value);
+
+    /**
+     * Gets the value of the country property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getCountry();
+
+    /**
+     * Sets the value of the country property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setCountry(java.lang.String value);
+
+    /**
+     * Gets the value of the login property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getLogin();
+
+    /**
+     * Sets the value of the login property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setLogin(java.lang.String value);
+
+    /**
+     * Gets the value of the accessLevel property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.Integer}
+     */
+    java.lang.Integer getAccessLevel();
+
+    /**
+     * Sets the value of the accessLevel property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.Integer}
+     */
+    void setAccessLevel(java.lang.Integer value);
+
+    /**
+     * Gets the value of the name property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getName();
+
+    /**
+     * Sets the value of the name property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setName(java.lang.String value);
+
+    /**
+     * Gets the value of the password property.
+     * 
+     * @return
+     *     possible object is
+     *     {@link java.lang.String}
+     */
+    java.lang.String getPassword();
+
+    /**
+     * Sets the value of the password property.
+     * 
+     * @param value
+     *     allowed object is
+     *     {@link java.lang.String}
+     */
+    void setPassword(java.lang.String value);
+
+}

二進制
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/bgm.ser


+ 700 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/AdvancedSearchCriteriaImpl.java

@@ -0,0 +1,700 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class AdvancedSearchCriteriaImpl implements magoffin.matt.ieat.domain.AdvancedSearchCriteria, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected boolean has_Op;
+    protected short _Op;
+    protected java.lang.String _Type;
+    protected java.lang.String _Choice;
+    protected boolean has_Required;
+    protected boolean _Required;
+    protected java.lang.String _Query;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.AdvancedSearchCriteria.class);
+    }
+
+    public short getOp() {
+        return _Op;
+    }
+
+    public void setOp(short value) {
+        _Op = value;
+        has_Op = true;
+    }
+
+    public java.lang.String getType() {
+        return _Type;
+    }
+
+    public void setType(java.lang.String value) {
+        _Type = value;
+    }
+
+    public java.lang.String getChoice() {
+        return _Choice;
+    }
+
+    public void setChoice(java.lang.String value) {
+        _Choice = value;
+    }
+
+    public boolean isRequired() {
+        if (!has_Required) {
+            return javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.DatatypeConverterImpl.installHook("false"));
+        } else {
+            return _Required;
+        }
+    }
+
+    public void setRequired(boolean value) {
+        _Required = value;
+        has_Required = true;
+    }
+
+    public java.lang.String getQuery() {
+        return _Query;
+    }
+
+    public void setQuery(java.lang.String value) {
+        _Query = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (!has_Op) {
+            context.reportError(com.sun.xml.bind.serializer.Util.createMissingObjectError(this, "Op"));
+        }
+        if (_Query!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "query");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Query), "Query");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (!has_Op) {
+            context.reportError(com.sun.xml.bind.serializer.Util.createMissingObjectError(this, "Op"));
+        }
+        if (_Choice!= null) {
+            context.startAttribute("", "choice");
+            try {
+                context.text(((java.lang.String) _Choice), "Choice");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        context.startAttribute("", "op");
+        try {
+            context.text(javax.xml.bind.DatatypeConverter.printShort(((short) _Op)), "Op");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+        if (has_Required) {
+            context.startAttribute("", "required");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _Required)), "Required");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        context.startAttribute("", "type");
+        try {
+            context.text(((java.lang.String) _Type), "Type");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (!has_Op) {
+            context.reportError(com.sun.xml.bind.serializer.Util.createMissingObjectError(this, "Op"));
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.AdvancedSearchCriteria.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv."
++"grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.grammar."
++"trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/gr"
++"ammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011"
++"java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun"
++".msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype"
++"/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPa"
++"ir;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicT"
++"ype\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003"
++"L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u001aL\u0000\nwhite"
++"Spacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 h"
++"ttp://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.sun.msv.data"
++"type.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun."
++"msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.su"
++"n.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003p"
++"psr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001a"
++"L\u0000\fnamespaceURIq\u0000~\u0000\u001axpq\u0000~\u0000\u001eq\u0000~\u0000\u001dsq\u0000~\u0000\tppsr\u0000 com.sun.msv.gram"
++"mar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\fxq\u0000~\u0000"
++"\u0003q\u0000~\u0000\u0010psq\u0000~\u0000\u0012ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0017q\u0000~\u0000\u001dt\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpa"
++"ceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000 q\u0000~\u0000#sq\u0000~\u0000$q\u0000~\u0000,q\u0000~\u0000\u001dsr"
++"\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalName"
++"q\u0000~\u0000\u001aL\u0000\fnamespaceURIq\u0000~\u0000\u001axr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instan"
++"cesr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u000f\u0001q\u0000~\u00006sq\u0000~\u00000t\u0000\u0005queryt\u0000\u0017http://msqr.us/xsd/i"
++"eatq\u0000~\u00006sq\u0000~\u0000\tppsq\u0000~\u0000\'q\u0000~\u0000\u0010pq\u0000~\u0000\u0015sq\u0000~\u00000t\u0000\u0006choicet\u0000\u0000q\u0000~\u00006sq\u0000~"
++"\u0000\'ppsq\u0000~\u0000\u0012ppsr\u0000\"com.sun.msv.datatype.xsd.ShortType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xr\u0000+com.sun.msv.datatype.xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L"
++"\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/xsd/XSDatatypeImpl;xq\u0000~"
++"\u0000\u0017q\u0000~\u0000\u001dt\u0000\u0005shortq\u0000~\u0000.sr\u0000*com.sun.msv.datatype.xsd.MaxInclusiv"
++"eFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/Object;xr\u00009com.sun.msv.dat"
++"atype.xsd.DataTypeWithValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com"
++".sun.msv.datatype.xsd.DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacet"
++"FixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTypeq\u0000~\u0000DL\u0000\fconcreteTypet\u0000\'"
++"Lcom/sun/msv/datatype/xsd/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u001axq\u0000~"
++"\u0000\u0019ppq\u0000~\u0000.\u0000\u0001sr\u0000*com.sun.msv.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Hppq\u0000~\u0000.\u0000\u0000sr\u0000 com.sun.msv.datatype.xsd.IntType\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u001dt\u0000\u0003intq\u0000~\u0000.sq\u0000~\u0000Gppq\u0000~\u0000.\u0000\u0001sq\u0000~\u0000Nppq\u0000~\u0000."
++"\u0000\u0000sr\u0000!com.sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000"
++"\u001dt\u0000\u0004longq\u0000~\u0000.sq\u0000~\u0000Gppq\u0000~\u0000.\u0000\u0001sq\u0000~\u0000Nppq\u0000~\u0000.\u0000\u0000sr\u0000$com.sun.msv.d"
++"atatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u001dt\u0000\u0007integerq\u0000~\u0000."
++"sr\u0000,com.sun.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I"
++"\u0000\u0005scalexr\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConst"
++"raintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000Kppq\u0000~\u0000.\u0001\u0000sr\u0000#com.sun.msv.datatype"
++".xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0017q\u0000~\u0000\u001dt\u0000\u0007decimalq\u0000~\u0000.q\u0000~\u0000at\u0000\u000e"
++"fractionDigits\u0000\u0000\u0000\u0000q\u0000~\u0000[t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090"
++"\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000"
++"[t\u0000\fmaxInclusivesq\u0000~\u0000e\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000Vq\u0000~\u0000dsr\u0000\u0011java.lang.Intege"
++"r\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000f\u0080\u0000\u0000\u0000q\u0000~\u0000Vq\u0000~\u0000hsq\u0000~\u0000j\u007f\u00ff\u00ff\u00ffq\u0000~\u0000Qq\u0000~\u0000d"
++"sr\u0000\u000fjava.lang.ShorthM7\u00134`\u00daR\u0002\u0000\u0001S\u0000\u0005valuexq\u0000~\u0000f\u0080\u0000q\u0000~\u0000Qq\u0000~\u0000hsq\u0000~"
++"\u0000m\u007f\u00ffq\u0000~\u0000#sq\u0000~\u0000$q\u0000~\u0000Fq\u0000~\u0000\u001dsq\u0000~\u00000t\u0000\u0002opq\u0000~\u0000?sq\u0000~\u0000\tppsq\u0000~\u0000\'q\u0000~\u0000\u0010"
++"psq\u0000~\u0000\u0012ppsr\u0000$com.sun.msv.datatype.xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xq\u0000~\u0000\u0017q\u0000~\u0000\u001dt\u0000\u0007booleanq\u0000~\u0000.q\u0000~\u0000#sq\u0000~\u0000$q\u0000~\u0000xq\u0000~\u0000\u001dsq\u0000~\u00000t\u0000\brequ"
++"iredq\u0000~\u0000?q\u0000~\u00006sq\u0000~\u0000\'ppq\u0000~\u0000\u0015sq\u0000~\u00000t\u0000\u0004typeq\u0000~\u0000?sr\u0000\"com.sun.msv"
++".grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv"
++"/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar"
++".ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersio"
++"nL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\t\u0001pq\u0000~"
++"\u0000;q\u0000~\u0000\u0011q\u0000~\u0000\u0007q\u0000~\u0000\nq\u0000~\u0000\u0006q\u0000~\u0000sq\u0000~\u0000\bq\u0000~\u0000\u0005q\u0000~\u0000&x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.AdvancedSearchCriteria))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl target = ((magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl) obj);
+        {
+            short value = this.getOp();
+            short targetValue = target.getOp();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getType();
+            java.lang.String targetValue = target.getType();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getChoice();
+            java.lang.String targetValue = target.getChoice();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isRequired();
+            boolean targetValue = target.isRequired();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getQuery();
+            java.lang.String targetValue = target.getQuery();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            short value = this.getOp();
+            hash = ((31 *hash)+((int) value));
+        }
+        {
+            java.lang.String value = this.getType();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getChoice();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isRequired();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            java.lang.String value = this.getQuery();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "required");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  12 :
+                        if (("query" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 13;
+                            return ;
+                        }
+                        state = 15;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  9 :
+                        attIdx = context.getAttribute("", "type");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        break;
+                    case  15 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Choice = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Required = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Required = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Op = javax.xml.bind.DatatypeConverter.parseShort(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Op = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText4(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Type = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "required");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  14 :
+                        if (("query" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 15;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  9 :
+                        attIdx = context.getAttribute("", "type");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        break;
+                    case  15 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("choice" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        if (("required" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  3 :
+                        if (("op" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        if (("type" == ___local)&&("" == ___uri)) {
+                            state = 10;
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("choice" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "required");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  5 :
+                        if (("op" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        if (("required" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  9 :
+                        attIdx = context.getAttribute("", "type");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        break;
+                    case  15 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  11 :
+                        if (("type" == ___local)&&("" == ___uri)) {
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  10 :
+                            state = 11;
+                            eatText4(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "choice");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  4 :
+                            state = 5;
+                            eatText3(value);
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "required");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  12 :
+                            state = 15;
+                            continue outer;
+                        case  7 :
+                            state = 8;
+                            eatText2(value);
+                            return ;
+                        case  13 :
+                            state = 14;
+                            eatText5(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "op");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            break;
+                        case  9 :
+                            attIdx = context.getAttribute("", "type");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 12;
+                                eatText4(v);
+                                continue outer;
+                            }
+                            break;
+                        case  15 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText5(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Query = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/BaseImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class BaseImpl implements magoffin.matt.ieat.domain.Base, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.Integer _BaseId;
+    protected java.lang.String _Value;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Base.class);
+    }
+
+    public java.lang.Integer getBaseId() {
+        return _BaseId;
+    }
+
+    public void setBaseId(java.lang.Integer value) {
+        _BaseId = value;
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.BaseImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_BaseId!= null) {
+            context.startAttribute("", "baseId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _BaseId).intValue())), "BaseId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Base.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0006baseIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Expressio"
++"n$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"com.sun."
++"msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/"
++"msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gram"
++"mar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVer"
++"sionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0002\u0001p"
++"q\u0000~\u0000\u0005q\u0000~\u0000\u001bx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Base))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.BaseImpl target = ((magoffin.matt.ieat.domain.impl.BaseImpl) obj);
+        {
+            java.lang.Integer value = this.getBaseId();
+            java.lang.Integer targetValue = target.getBaseId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.Integer value = this.getBaseId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.BaseImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _BaseId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("baseId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("baseId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "baseId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/CourseImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class CourseImpl implements magoffin.matt.ieat.domain.Course, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.Integer _CourseId;
+    protected java.lang.String _Value;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Course.class);
+    }
+
+    public java.lang.Integer getCourseId() {
+        return _CourseId;
+    }
+
+    public void setCourseId(java.lang.Integer value) {
+        _CourseId = value;
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.CourseImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_CourseId!= null) {
+            context.startAttribute("", "courseId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _CourseId).intValue())), "CourseId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Course.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\bcourseIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Express"
++"ion$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"com.su"
++"n.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/su"
++"n/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gr"
++"ammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamV"
++"ersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0002"
++"\u0001pq\u0000~\u0000\u0005q\u0000~\u0000\u001bx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Course))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.CourseImpl target = ((magoffin.matt.ieat.domain.impl.CourseImpl) obj);
+        {
+            java.lang.Integer value = this.getCourseId();
+            java.lang.Integer targetValue = target.getCourseId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.Integer value = this.getCourseId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.CourseImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _CourseId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("courseId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("courseId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "courseId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/DifficultyImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class DifficultyImpl implements magoffin.matt.ieat.domain.Difficulty, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.Integer _DifficultyId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Difficulty.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Integer getDifficultyId() {
+        return _DifficultyId;
+    }
+
+    public void setDifficultyId(java.lang.Integer value) {
+        _DifficultyId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.DifficultyImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_DifficultyId!= null) {
+            context.startAttribute("", "difficultyId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _DifficultyId).intValue())), "DifficultyId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Difficulty.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\fdifficultyIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Exp"
++"ression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"co"
++"m.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lco"
++"m/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.ms"
++"v.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstr"
++"eamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp"
++"\u0000\u0000\u0000\u0002\u0001pq\u0000~\u0000\u001bq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Difficulty))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.DifficultyImpl target = ((magoffin.matt.ieat.domain.impl.DifficultyImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getDifficultyId();
+            java.lang.Integer targetValue = target.getDifficultyId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getDifficultyId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.DifficultyImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _DifficultyId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("difficultyId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("difficultyId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "difficultyId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 494 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/EditImpl.java

@@ -0,0 +1,494 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class EditImpl
+    extends magoffin.matt.ieat.domain.impl.UiEditImpl
+    implements magoffin.matt.ieat.domain.Edit, java.io.Serializable, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Edit.class);
+    }
+
+    public java.lang.String ____jaxb_ri____getNamespaceURI() {
+        return "http://msqr.us/xsd/ieat";
+    }
+
+    public java.lang.String ____jaxb_ri____getLocalName() {
+        return "edit";
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.EditImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "edit");
+        super.serializeURIs(context);
+        context.endNamespaceDecls();
+        super.serializeAttributes(context);
+        context.endAttributes();
+        super.serializeBody(context);
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Edit.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
++"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
++"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
++"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
++"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
++"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
++"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007pps"
++"q\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsr\u0000\u001dcom.sun.m"
++"sv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\bppsq\u0000~\u0000\u0000sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0012ppsr\u0000 c"
++"om.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.gr"
++"ammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0003xq\u0000~\u0000\u0004q\u0000~\u0000\u0016psr\u0000 com.sun."
++"msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnameClassq\u0000"
++"~\u0000\u0001xq\u0000~\u0000\u0004q\u0000~\u0000\u0016psr\u00002com.sun.msv.grammar.Expression$AnyStringE"
++"xpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq\u0000~\u0000\u0015\u0001q\u0000~\u0000 sr\u0000 com.sun.msv.gramma"
++"r.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$EpsilonExpress"
++"ion\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004q\u0000~\u0000!q\u0000~\u0000&sr\u0000#com.sun.msv.grammar.Simple"
++"NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fname"
++"spaceURIq\u0000~\u0000(xq\u0000~\u0000#t\u0000$magoffin.matt.ieat.domain.Ingredientt\u0000"
++"+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000"
++"~\u0000\u0016psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/r"
++"elaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/ms"
++"v/util/StringPair;xq\u0000~\u0000\u0004ppsr\u0000\"com.sun.msv.datatype.xsd.Qname"
++"Type\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicTyp"
++"e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000"
++"\fnamespaceUriq\u0000~\u0000(L\u0000\btypeNameq\u0000~\u0000(L\u0000\nwhiteSpacet\u0000.Lcom/sun/m"
++"sv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2"
++"001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpace"
++"Processor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.Wh"
++"iteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expres"
++"sion$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.uti"
++"l.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000(L\u0000\fnamespaceURIq\u0000~\u0000("
++"xpq\u0000~\u00009q\u0000~\u00008sq\u0000~\u0000\'t\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema"
++"-instanceq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\ningredientt\u0000\u0017http://msqr.us/xsd/ieatq"
++"\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0016p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001aq\u0000~\u0000"
++"\u0016psq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u0000 q\u0000~\u0000$q\u0000~\u0000&sq\u0000~\u0000\'t\u0000 magoffin.matt.ieat.dom"
++"ain.Recipeq\u0000~\u0000+sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u00001q\u0000~\u0000Aq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u0006r"
++"ecipeq\u0000~\u0000Fq\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0016p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0012p"
++"psq\u0000~\u0000\u001aq\u0000~\u0000\u0016psq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u0000 q\u0000~\u0000$q\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u001emagoffin.ma"
++"tt.ieat.domain.Userq\u0000~\u0000+sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u00001q\u0000~\u0000Aq\u0000~\u0000&s"
++"q\u0000~\u0000\'t\u0000\u0004userq\u0000~\u0000Fq\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0016p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000"
++"sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001aq\u0000~\u0000\u0016psq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u0000 q\u0000~\u0000$q\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u001emago"
++"ffin.matt.ieat.domain.Mealq\u0000~\u0000+sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u00001q\u0000~\u0000"
++"Aq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u0004mealq\u0000~\u0000Fq\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0016p\u0000sq\u0000~\u0000\u0007ppsq"
++"\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001aq\u0000~\u0000\u0016psq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u0000 q\u0000~\u0000$q\u0000~\u0000&sq\u0000~\u0000\'"
++"t\u0000$magoffin.matt.ieat.domain.MealRecipeq\u0000~\u0000+sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000"
++"~\u0000\u0016pq\u0000~\u00001q\u0000~\u0000Aq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u000bmeal-recipeq\u0000~\u0000Fq\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000"
++"~\u0000\u0000q\u0000~\u0000\u0016p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001aq\u0000~\u0000\u0016psq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq"
++"\u0000~\u0000 q\u0000~\u0000$q\u0000~\u0000&sq\u0000~\u0000\'t\u0000)magoffin.matt.ieat.domain.UiSearchRes"
++"ultsq\u0000~\u0000+sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000~\u00001q\u0000~\u0000Aq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u000esearch-"
++"resultsq\u0000~\u0000Fq\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016psq\u0000~\u0000.ppsr\u0000#com.sun.msv"
++".datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u00003q\u0000~"
++"\u00008t\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000;\u0001q\u0000~\u0000>sq\u0000~\u0000?q\u0000~\u0000\u008dq\u0000~\u00008sq\u0000~\u0000\'t\u0000\u0004mode"
++"t\u0000\u0000q\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016psq\u0000~\u0000.ppsr\u0000$com.sun.msv.datatype"
++".xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00003q\u0000~\u00008t\u0000\u0007booleanq\u0000~\u0000<q\u0000~\u0000>sq"
++"\u0000~\u0000?q\u0000~\u0000\u0099q\u0000~\u00008sq\u0000~\u0000\'t\u0000\u000eignoreWarningsq\u0000~\u0000\u0093q\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000"
++"\u001dq\u0000~\u0000\u0016pq\u0000~\u0000\u0096sq\u0000~\u0000\'t\u0000\u0007refreshq\u0000~\u0000\u0093q\u0000~\u0000&sq\u0000~\u0000\u0012ppsq\u0000~\u0000\u001dq\u0000~\u0000\u0016pq\u0000"
++"~\u00001q\u0000~\u0000Aq\u0000~\u0000&sq\u0000~\u0000\'t\u0000\u0004editq\u0000~\u0000Fsr\u0000\"com.sun.msv.grammar.Expre"
++"ssionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expre"
++"ssionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPoo"
++"l$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$L"
++"com/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000+\u0001pq\u0000~\u0000\u0084q\u0000~\u0000\u009dq\u0000~\u0000\u00a1q\u0000"
++"~\u0000\u0013q\u0000~\u0000Gq\u0000~\u0000Tq\u0000~\u0000aq\u0000~\u0000nq\u0000~\u0000{q\u0000~\u0000\fq\u0000~\u0000\u0088q\u0000~\u0000\u0017q\u0000~\u0000Iq\u0000~\u0000Vq\u0000~\u0000cq\u0000"
++"~\u0000pq\u0000~\u0000\u000fq\u0000~\u0000}q\u0000~\u0000\u0019q\u0000~\u0000Kq\u0000~\u0000Xq\u0000~\u0000eq\u0000~\u0000rq\u0000~\u0000\u007fq\u0000~\u0000\u0010q\u0000~\u0000\nq\u0000~\u0000\u000bq\u0000"
++"~\u0000\u000eq\u0000~\u0000\u0094q\u0000~\u0000\u001cq\u0000~\u0000Lq\u0000~\u0000Yq\u0000~\u0000fq\u0000~\u0000sq\u0000~\u0000\u0080q\u0000~\u0000\tq\u0000~\u0000\rq\u0000~\u0000\u0011q\u0000~\u0000,q\u0000"
++"~\u0000Pq\u0000~\u0000]q\u0000~\u0000jq\u0000~\u0000wx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Edit))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.EditImpl target = ((magoffin.matt.ieat.domain.impl.EditImpl) obj);
+        {
+            boolean value = this.isRefresh();
+            boolean targetValue = target.isRefresh();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getUser();
+            magoffin.matt.ieat.domain.User targetValue = target.getUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.MealRecipe value = this.getMealRecipe();
+            magoffin.matt.ieat.domain.MealRecipe targetValue = target.getMealRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            magoffin.matt.ieat.domain.Ingredient targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            magoffin.matt.ieat.domain.Recipe targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Meal value = this.getMeal();
+            magoffin.matt.ieat.domain.Meal targetValue = target.getMeal();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isIgnoreWarnings();
+            boolean targetValue = target.isIgnoreWarnings();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            magoffin.matt.ieat.domain.UiSearchResults targetValue = target.getSearchResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            boolean value = this.isRefresh();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.MealRecipe value = this.getMealRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Meal value = this.getMeal();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isIgnoreWarnings();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.EditImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("meal-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        if (("edit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("edit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        if (("ignoreWarnings" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("refresh" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            attIdx = context.getAttribute("", "ignoreWarnings");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "refresh");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiEditImpl)magoffin.matt.ieat.domain.impl.EditImpl.this).new Unmarshaller(context)), 2, value);
+                            return ;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/EthnicityImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class EthnicityImpl implements magoffin.matt.ieat.domain.Ethnicity, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.Integer _EthnicityId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Ethnicity.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Integer getEthnicityId() {
+        return _EthnicityId;
+    }
+
+    public void setEthnicityId(java.lang.Integer value) {
+        _EthnicityId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.EthnicityImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_EthnicityId!= null) {
+            context.startAttribute("", "ethnicityId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _EthnicityId).intValue())), "EthnicityId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Ethnicity.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u000bethnicityIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Expr"
++"ession$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"com"
++".sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom"
++"/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv"
++".grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstre"
++"amVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000"
++"\u0000\u0000\u0002\u0001pq\u0000~\u0000\u0005q\u0000~\u0000\u001bx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Ethnicity))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.EthnicityImpl target = ((magoffin.matt.ieat.domain.impl.EthnicityImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getEthnicityId();
+            java.lang.Integer targetValue = target.getEthnicityId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getEthnicityId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.EthnicityImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _EthnicityId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("ethnicityId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("ethnicityId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "ethnicityId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 459 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/IngredientImpl.java

@@ -0,0 +1,459 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class IngredientImpl implements magoffin.matt.ieat.domain.Ingredient, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Description;
+    protected java.lang.Integer _IngredientId;
+    protected java.lang.String _Name;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Ingredient.class);
+    }
+
+    public java.lang.String getDescription() {
+        return _Description;
+    }
+
+    public void setDescription(java.lang.String value) {
+        _Description = value;
+    }
+
+    public java.lang.Integer getIngredientId() {
+        return _IngredientId;
+    }
+
+    public void setIngredientId(java.lang.Integer value) {
+        _IngredientId = value;
+    }
+
+    public java.lang.String getName() {
+        return _Name;
+    }
+
+    public void setName(java.lang.String value) {
+        _Name = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.IngredientImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "name");
+        context.endNamespaceDecls();
+        context.endAttributes();
+        try {
+            context.text(((java.lang.String) _Name), "Name");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endElement();
+        if (_Description!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "description");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Description), "Description");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_IngredientId!= null) {
+            context.startAttribute("", "ingredientId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _IngredientId).intValue())), "IngredientId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Ingredient.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\'com.sun.msv.grammar.trex.Ele"
++"mentPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/Na"
++"meClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aigno"
++"reUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000pps"
++"r\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxn"
++"g/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/uti"
++"l/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.StringType"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.xsd.Buil"
++"tinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.Concret"
++"eType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~"
++"\u0000\u0014L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProces"
++"sor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.su"
++"n.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr"
++"\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001"
++"sr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tloca"
++"lNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xpq\u0000~\u0000\u0018q\u0000~\u0000\u0017sr\u0000\u001dcom.sun.msv.gr"
++"ammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.At"
++"tributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\bxq\u0000~\u0000\u0003sr\u0000\u0011j"
++"ava.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\fppsr\u0000\"com.sun.m"
++"sv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0005QNamesr\u00005c"
++"om.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000)q\u0000~\u0000\u0017sr\u0000#com.sun.msv.grammar.Simple"
++"NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xr\u0000"
++"\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://"
++"www.w3.org/2001/XMLSchema-instancesr\u00000com.sun.msv.grammar.Ex"
++"pression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000$\u0001q\u0000~\u00003sq\u0000~\u0000"
++"-t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ieatsq\u0000~\u0000 ppsq\u0000~\u0000\u0007q\u0000~\u0000%p\u0000sq\u0000~\u0000"
++"\u0000ppq\u0000~\u0000\u000fsq\u0000~\u0000 ppsq\u0000~\u0000\"q\u0000~\u0000%pq\u0000~\u0000&q\u0000~\u0000/q\u0000~\u00003sq\u0000~\u0000-t\u0000\u000bdescript"
++"ionq\u0000~\u00007q\u0000~\u00003sq\u0000~\u0000 ppsq\u0000~\u0000\"q\u0000~\u0000%psq\u0000~\u0000\fppsr\u0000 com.sun.msv.dat"
++"atype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Int"
++"egerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datat"
++"ype/xsd/XSDatatypeImpl;xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0003intq\u0000~\u0000+sr\u0000*com.sun.msv"
++".datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.da"
++"tatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/O"
++"bject;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueConstrai"
++"ntFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithF"
++"acet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTy"
++"peq\u0000~\u0000DL\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteT"
++"ype;L\u0000\tfacetNameq\u0000~\u0000\u0014xq\u0000~\u0000\u0013ppq\u0000~\u0000+\u0000\u0001sr\u0000*com.sun.msv.datatype"
++".xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Hppq\u0000~\u0000+\u0000\u0000sr\u0000!com.sun."
++"msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u0017t\u0000\u0004longq\u0000~\u0000+s"
++"q\u0000~\u0000Gppq\u0000~\u0000+\u0000\u0001sq\u0000~\u0000Nppq\u0000~\u0000+\u0000\u0000sr\u0000$com.sun.msv.datatype.xsd.In"
++"tegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u0017t\u0000\u0007integerq\u0000~\u0000+sr\u0000,com.sun.ms"
++"v.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com"
++".sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFacetT\u0090\u001c>"
++"\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000Kppq\u0000~\u0000+\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.NumberTyp"
++"e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0007decimalq\u0000~\u0000+q\u0000~\u0000\\t\u0000\u000efractionDigits"
++"\u0000\u0000\u0000\u0000q\u0000~\u0000Vt\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valu"
++"exr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000Vt\u0000\fmaxInclusi"
++"vesq\u0000~\u0000`\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000Qq\u0000~\u0000_sr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000"
++"\u0005valuexq\u0000~\u0000a\u0080\u0000\u0000\u0000q\u0000~\u0000Qq\u0000~\u0000csq\u0000~\u0000e\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000Fq\u0000~\u0000\u0017sq\u0000"
++"~\u0000-t\u0000\fingredientIdt\u0000\u0000q\u0000~\u00003sr\u0000\"com.sun.msv.grammar.Expression"
++"Pool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expression"
++"Pool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$Clo"
++"sedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/s"
++"un/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\b\u0001pq\u0000~\u0000?q\u0000~\u0000\u000bq\u0000~\u0000:q\u0000~\u0000\u0006q\u0000"
++"~\u0000\u0005q\u0000~\u00008q\u0000~\u0000!q\u0000~\u0000;x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Ingredient))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.IngredientImpl target = ((magoffin.matt.ieat.domain.impl.IngredientImpl) obj);
+        {
+            java.lang.String value = this.getDescription();
+            java.lang.String targetValue = target.getDescription();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getIngredientId();
+            java.lang.Integer targetValue = target.getIngredientId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getDescription();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getIngredientId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.IngredientImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  6 :
+                        if (("description" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _IngredientId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  5 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                    case  8 :
+                        if (("description" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  9 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  7 :
+                            state = 8;
+                            eatText3(value);
+                            return ;
+                        case  9 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  6 :
+                            state = 9;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Name = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Description = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 15 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/JAXBVersion.java

@@ -0,0 +1,15 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class JAXBVersion {
+
+    public final static java.lang.String version = "1.0.6";
+
+}

+ 767 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/MealImpl.java

@@ -0,0 +1,767 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class MealImpl implements magoffin.matt.ieat.domain.Meal, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected magoffin.matt.ieat.domain.User _Owner;
+    protected com.sun.xml.bind.util.ListImpl _Recipe;
+    protected java.lang.Long _MealId;
+    protected java.lang.String _Name;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Meal.class);
+    }
+
+    public magoffin.matt.ieat.domain.User getOwner() {
+        return _Owner;
+    }
+
+    public void setOwner(magoffin.matt.ieat.domain.User value) {
+        _Owner = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getRecipe() {
+        if (_Recipe == null) {
+            _Recipe = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Recipe;
+    }
+
+    public java.util.List getRecipe() {
+        return _getRecipe();
+    }
+
+    public java.lang.Long getMealId() {
+        return _MealId;
+    }
+
+    public void setMealId(java.lang.Long value) {
+        _MealId = value;
+    }
+
+    public java.lang.String getName() {
+        return _Name;
+    }
+
+    public void setName(java.lang.String value) {
+        _Name = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.MealImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_Recipe == null)? 0 :_Recipe.size());
+        context.startElement("http://msqr.us/xsd/ieat", "name");
+        context.endNamespaceDecls();
+        context.endAttributes();
+        try {
+            context.text(((java.lang.String) _Name), "Name");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endElement();
+        while (idx2 != len2) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe");
+            int idx_2 = idx2;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_2 ++)), "Recipe");
+            context.endNamespaceDecls();
+            int idx_3 = idx2;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_3 ++)), "Recipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx2 ++)), "Recipe");
+            context.endElement();
+        }
+        if (_Owner!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "owner");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_Recipe == null)? 0 :_Recipe.size());
+        if (_MealId!= null) {
+            context.startAttribute("", "mealId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printLong(((long)((java.lang.Long) _MealId).longValue())), "MealId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_Recipe == null)? 0 :_Recipe.size());
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Meal.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\'com.sun.msv.grammar."
++"trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/gr"
++"ammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000s"
++"q\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLor"
++"g/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun"
++"/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.St"
++"ringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype."
++"xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd"
++".ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatat"
++"ypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btyp"
++"eNameq\u0000~\u0000\u0015L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpa"
++"ceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr"
++"\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$NullSetExpression"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000"
++"\u0002L\u0000\tlocalNameq\u0000~\u0000\u0015L\u0000\fnamespaceURIq\u0000~\u0000\u0015xpq\u0000~\u0000\u0019q\u0000~\u0000\u0018sr\u0000\u001dcom.su"
++"n.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.gr"
++"ammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\txq\u0000"
++"~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\rppsr\u0000\"c"
++"om.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0012q\u0000~\u0000\u0018t\u0000\u0005QN"
++"amesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001bq\u0000~\u0000\u001esq\u0000~\u0000\u001fq\u0000~\u0000*q\u0000~\u0000\u0018sr\u0000#com.sun.msv.gramma"
++"r.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0015L\u0000\fnamespaceURI"
++"q\u0000~\u0000\u0015xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000"
++")http://www.w3.org/2001/XMLSchema-instancesr\u00000com.sun.msv.gr"
++"ammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000%\u0001q\u0000"
++"~\u00004sq\u0000~\u0000.t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ieatsr\u0000 com.sun.msv.gr"
++"ammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryEx"
++"p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003ppsq\u0000~\u0000\bpp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\bpp\u0000sq\u0000"
++"~\u0000!ppsq\u0000~\u00009q\u0000~\u0000&psq\u0000~\u0000#q\u0000~\u0000&psr\u00002com.sun.msv.grammar.Express"
++"ion$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u00005q\u0000~\u0000Csr\u0000 com.su"
++"n.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000/q\u0000~\u00004sq\u0000~\u0000.t\u0000$mag"
++"offin.matt.ieat.domain.MealRecipet\u0000+http://java.sun.com/jaxb"
++"/xjc/dummy-elementssq\u0000~\u0000!ppsq\u0000~\u0000#q\u0000~\u0000&pq\u0000~\u0000\'q\u0000~\u00000q\u0000~\u00004sq\u0000~\u0000."
++"t\u0000\u0006recipeq\u0000~\u00008sq\u0000~\u0000!ppsq\u0000~\u0000\bq\u0000~\u0000&p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\bpp\u0000sq\u0000~\u0000!pp"
++"sq\u0000~\u00009q\u0000~\u0000&psq\u0000~\u0000#q\u0000~\u0000&pq\u0000~\u0000Cq\u0000~\u0000Eq\u0000~\u00004sq\u0000~\u0000.t\u0000\u001emagoffin.mat"
++"t.ieat.domain.Userq\u0000~\u0000Hsq\u0000~\u0000!ppsq\u0000~\u0000#q\u0000~\u0000&pq\u0000~\u0000\'q\u0000~\u00000q\u0000~\u00004sq"
++"\u0000~\u0000.t\u0000\u0005ownerq\u0000~\u00008q\u0000~\u00004sq\u0000~\u0000!ppsq\u0000~\u0000#q\u0000~\u0000&psq\u0000~\u0000\rppsr\u0000!com.su"
++"n.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.dataty"
++"pe.xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun"
++"/msv/datatype/xsd/XSDatatypeImpl;xq\u0000~\u0000\u0012q\u0000~\u0000\u0018t\u0000\u0004longq\u0000~\u0000,sr\u0000*"
++"com.sun.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com"
++".sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012L"
++"java/lang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithVa"
++"lueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.Da"
++"taTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFl"
++"agL\u0000\bbaseTypeq\u0000~\u0000_L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xs"
++"d/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u0015xq\u0000~\u0000\u0014ppq\u0000~\u0000,\u0000\u0001sr\u0000*com.sun.m"
++"sv.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000cppq\u0000~\u0000,\u0000\u0000s"
++"r\u0000$com.sun.msv.datatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000^q\u0000~\u0000"
++"\u0018t\u0000\u0007integerq\u0000~\u0000,sr\u0000,com.sun.msv.datatype.xsd.FractionDigitsF"
++"acet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com.sun.msv.datatype.xsd.DataType"
++"WithLexicalConstraintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000fppq\u0000~\u0000,\u0001\u0000sr\u0000#com."
++"sun.msv.datatype.xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0012q\u0000~\u0000\u0018t\u0000\u0007deci"
++"malq\u0000~\u0000,q\u0000~\u0000rt\u0000\u000efractionDigits\u0000\u0000\u0000\u0000q\u0000~\u0000lt\u0000\fminInclusivesr\u0000\u000eja"
++"va.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002"
++"\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000lt\u0000\fmaxInclusivesq\u0000~\u0000v\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000\u001esq\u0000~\u0000\u001fq\u0000~"
++"\u0000aq\u0000~\u0000\u0018sq\u0000~\u0000.t\u0000\u0006mealIdt\u0000\u0000q\u0000~\u00004sr\u0000\"com.sun.msv.grammar.Expres"
++"sionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expres"
++"sionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool"
++"$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lc"
++"om/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0010\u0001pq\u0000~\u0000Mq\u0000~\u0000\u0006q\u0000~\u0000\fq\u0000~"
++"\u0000=q\u0000~\u0000Oq\u0000~\u0000?q\u0000~\u0000Qq\u0000~\u0000Zq\u0000~\u0000;q\u0000~\u0000@q\u0000~\u0000Rq\u0000~\u0000\u0007q\u0000~\u0000\u0005q\u0000~\u0000\"q\u0000~\u0000Iq\u0000~"
++"\u0000Vx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Meal))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.MealImpl target = ((magoffin.matt.ieat.domain.impl.MealImpl) obj);
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            magoffin.matt.ieat.domain.User targetValue = target.getOwner();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRecipe();
+            java.util.List targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Long value = this.getMealId();
+            java.lang.Long targetValue = target.getMealId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Long value = this.getMealId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.MealImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 7;
+                            return ;
+                        }
+                        if (("owner" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 10;
+                            return ;
+                        }
+                        state = 12;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 7;
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.MealRecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.MealRecipeImpl.class), 8, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _MealId = new java.lang.Long(((long) javax.xml.bind.DatatypeConverter.parseLong(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  5 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        if (("owner" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  10 :
+                        if (("accessLevel" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("country" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("language" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("lastLoginDate" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("login" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.MealRecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.MealRecipeImpl.class), 8, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        if (("mealId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  2 :
+                        if (("mealId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  9 :
+                            state = 12;
+                            continue outer;
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  10 :
+                            attIdx = context.getAttribute("", "accessLevel");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "country");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "language");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "lastLoginDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "login");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  7 :
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  0 :
+                            attIdx = context.getAttribute("", "mealId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  12 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Name = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 580 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/MealRecipeImpl.java

@@ -0,0 +1,580 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class MealRecipeImpl implements magoffin.matt.ieat.domain.MealRecipe, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected magoffin.matt.ieat.domain.Recipe _Recipe;
+    protected boolean has_Quantity;
+    protected double _Quantity;
+    protected magoffin.matt.ieat.domain.Course _Course;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+    protected boolean has_Hjid;
+    protected java.lang.Long _Hjid;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.MealRecipe.class);
+    }
+
+    public magoffin.matt.ieat.domain.Recipe getRecipe() {
+        return _Recipe;
+    }
+
+    public void setRecipe(magoffin.matt.ieat.domain.Recipe value) {
+        _Recipe = value;
+    }
+
+    public double getQuantity() {
+        if (!has_Quantity) {
+            return javax.xml.bind.DatatypeConverter.parseDouble(com.sun.xml.bind.DatatypeConverterImpl.installHook("1.0"));
+        } else {
+            return _Quantity;
+        }
+    }
+
+    public void setQuantity(double value) {
+        _Quantity = value;
+        has_Quantity = true;
+    }
+
+    public magoffin.matt.ieat.domain.Course getCourse() {
+        return _Course;
+    }
+
+    public void setCourse(magoffin.matt.ieat.domain.Course value) {
+        _Course = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.MealRecipeImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "recipe");
+        context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endNamespaceDecls();
+        context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endAttributes();
+        context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endElement();
+        context.startElement("http://msqr.us/xsd/ieat", "course");
+        context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+        context.endNamespaceDecls();
+        context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+        context.endAttributes();
+        context.childAsBody(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (has_Quantity) {
+            context.startAttribute("", "quantity");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printDouble(((double) _Quantity)), "Quantity");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.MealRecipe.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\'com.sun.msv.grammar.trex.Ele"
++"mentPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/Na"
++"meClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aigno"
++"reUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000pps"
++"q\u0000~\u0000\u0007pp\u0000sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001pp"
++"sr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.m"
++"sv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang"
++".Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000 com.sun.msv.grammar.Attri"
++"buteExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\bxq\u0000~\u0000\u0003q\u0000~\u0000\u0013psr"
++"\u00002com.sun.msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u0012\u0001q\u0000~\u0000\u0017sr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000co"
++"m.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000"
++"~\u0000\u0003q\u0000~\u0000\u0018q\u0000~\u0000\u001dsr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000\u001fxq\u0000~"
++"\u0000\u001at\u0000 magoffin.matt.ieat.domain.Recipet\u0000+http://java.sun.com/"
++"jaxb/xjc/dummy-elementssq\u0000~\u0000\rppsq\u0000~\u0000\u0014q\u0000~\u0000\u0013psr\u0000\u001bcom.sun.msv.g"
++"rammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datat"
++"ype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000"
++"~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*co"
++"m.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.s"
++"un.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.d"
++"atatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000\u001fL\u0000\b"
++"typeNameq\u0000~\u0000\u001fL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/White"
++"SpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005QName"
++"sr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSetExpressio"
++"n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002"
++"\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001fL\u0000\fnamespaceURIq\u0000~\u0000\u001fxpq\u0000~\u00000q\u0000~\u0000/sq\u0000~\u0000\u001et\u0000\u0004"
++"typet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~\u0000\u001dsq\u0000~\u0000\u001et"
++"\u0000\u0006recipet\u0000\u0017http://msqr.us/xsd/ieatsq\u0000~\u0000\u0007pp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0007pp\u0000"
++"sq\u0000~\u0000\rppsq\u0000~\u0000\u000fq\u0000~\u0000\u0013psq\u0000~\u0000\u0014q\u0000~\u0000\u0013pq\u0000~\u0000\u0017q\u0000~\u0000\u001bq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000 mago"
++"ffin.matt.ieat.domain.Courseq\u0000~\u0000\"sq\u0000~\u0000\rppsq\u0000~\u0000\u0014q\u0000~\u0000\u0013pq\u0000~\u0000(q\u0000"
++"~\u00008q\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\u0006courseq\u0000~\u0000=sq\u0000~\u0000\rppsq\u0000~\u0000\u0014q\u0000~\u0000\u0013psq\u0000~\u0000%ppsr\u0000#"
++"com.sun.msv.datatype.xsd.DoubleType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.ms"
++"v.datatype.xsd.FloatingNumberType\u00fc\u00e3\u00b6\u0087\u008c\u00a8|\u00e0\u0002\u0000\u0000xq\u0000~\u0000*q\u0000~\u0000/t\u0000\u0006do"
++"ubleq\u0000~\u00003q\u0000~\u00005sq\u0000~\u00006q\u0000~\u0000Pq\u0000~\u0000/sq\u0000~\u0000\u001et\u0000\bquantityt\u0000\u0000q\u0000~\u0000\u001dsr\u0000\"c"
++"om.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lc"
++"om/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.m"
++"sv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rst"
++"reamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;x"
++"p\u0000\u0000\u0000\u000b\u0001pq\u0000~\u0000\u0006q\u0000~\u0000\u000bq\u0000~\u0000?q\u0000~\u0000\u000eq\u0000~\u0000Aq\u0000~\u0000\u0005q\u0000~\u0000Jq\u0000~\u0000\u0011q\u0000~\u0000Bq\u0000~\u0000#q\u0000~"
++"\u0000Fx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.MealRecipe))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.MealRecipeImpl target = ((magoffin.matt.ieat.domain.impl.MealRecipeImpl) obj);
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            magoffin.matt.ieat.domain.Recipe targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            double value = this.getQuantity();
+            double targetValue = target.getQuantity();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            magoffin.matt.ieat.domain.Course targetValue = target.getCourse();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            double value = this.getQuantity();
+            hash = ((31 *hash)+((int)(java.lang.Double.doubleToLongBits(value)^(java.lang.Double.doubleToLongBits(value)>>> 32))));
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public java.lang.Long getHjid() {
+        return _Hjid;
+    }
+
+    public void setHjid(java.lang.Long value) {
+        _Hjid = value;
+        has_Hjid = true;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.MealRecipeImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 7;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Quantity = javax.xml.bind.DatatypeConverter.parseDouble(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Quantity = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  5 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        if (("courseId" == ___local)&&("" == ___uri)) {
+                            _Course = ((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.CourseImpl.class), 8, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  7 :
+                            attIdx = context.getAttribute("", "courseId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Course = ((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.CourseImpl.class), 8, value));
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  9 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/PrepTimeImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class PrepTimeImpl implements magoffin.matt.ieat.domain.PrepTime, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.Integer _PrepTimeId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.PrepTime.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Integer getPrepTimeId() {
+        return _PrepTimeId;
+    }
+
+    public void setPrepTimeId(java.lang.Integer value) {
+        _PrepTimeId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.PrepTimeImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_PrepTimeId!= null) {
+            context.startAttribute("", "prepTimeId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _PrepTimeId).intValue())), "PrepTimeId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.PrepTime.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\nprepTimeIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Expre"
++"ssion$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"com."
++"sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/"
++"sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv."
++"grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstrea"
++"mVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000"
++"\u0000\u0002\u0001pq\u0000~\u0000\u001bq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.PrepTime))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.PrepTimeImpl target = ((magoffin.matt.ieat.domain.impl.PrepTimeImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getPrepTimeId();
+            java.lang.Integer targetValue = target.getPrepTimeId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getPrepTimeId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.PrepTimeImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _PrepTimeId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("prepTimeId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("prepTimeId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "prepTimeId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 557 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeCommentImpl.java

@@ -0,0 +1,557 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeCommentImpl implements magoffin.matt.ieat.domain.RecipeComment, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.Integer _UserId;
+    protected java.util.Calendar _CreatedDate;
+    protected java.lang.String _Value;
+    protected java.lang.Long _CommentId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RecipeComment.class);
+    }
+
+    public java.lang.Integer getUserId() {
+        return _UserId;
+    }
+
+    public void setUserId(java.lang.Integer value) {
+        _UserId = value;
+    }
+
+    public java.util.Calendar getCreatedDate() {
+        return _CreatedDate;
+    }
+
+    public void setCreatedDate(java.util.Calendar value) {
+        _CreatedDate = value;
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Long getCommentId() {
+        return _CommentId;
+    }
+
+    public void setCommentId(java.lang.Long value) {
+        _CommentId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeCommentImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_CommentId!= null) {
+            context.startAttribute("", "commentId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printLong(((long)((java.lang.Long) _CommentId).longValue())), "CommentId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_CreatedDate!= null) {
+            context.startAttribute("", "createdDate");
+            try {
+                context.text(com.sun.msv.datatype.xsd.DateTimeType.theInstance.serializeJavaObject(((java.util.Calendar) _CreatedDate), null), "CreatedDate");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_UserId!= null) {
+            context.startAttribute("", "userId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _UserId).intValue())), "UserId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RecipeComment.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun.msv.grammar."
++"DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006"
++"exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr"
++"\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysV"
++"alidxr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com"
++".sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceU"
++"rit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u0010L\u0000\nwhiteSpacet\u0000.Lcom/"
++"sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3."
++"org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.Whit"
++"eSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype."
++"xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar"
++".Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun."
++"msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0010L\u0000\fnamespaceU"
++"RIq\u0000~\u0000\u0010xpq\u0000~\u0000\u0014q\u0000~\u0000\u0013sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000"
++"\u0003expq\u0000~\u0000\u0002L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000"
++"\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\bppsr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.dat"
++"atype.xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/"
++"sun/msv/datatype/xsd/XSDatatypeImpl;xq\u0000~\u0000\rq\u0000~\u0000\u0013t\u0000\u0004longsr\u00005co"
++"m.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u0000\u0016sr\u0000*com.sun.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nli"
++"mitValuet\u0000\u0012Ljava/lang/Object;xr\u00009com.sun.msv.datatype.xsd.Da"
++"taTypeWithValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.dat"
++"atype.xsd.DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012need"
++"ValueCheckFlagL\u0000\bbaseTypeq\u0000~\u0000&L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv"
++"/datatype/xsd/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u0010xq\u0000~\u0000\u000fppq\u0000~\u0000*\u0000\u0001s"
++"r\u0000*com.sun.msv.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~"
++"\u0000,ppq\u0000~\u0000*\u0000\u0000sr\u0000$com.sun.msv.datatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u0000%q\u0000~\u0000\u0013t\u0000\u0007integerq\u0000~\u0000*sr\u0000,com.sun.msv.datatype.xsd.Fra"
++"ctionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com.sun.msv.datatype."
++"xsd.DataTypeWithLexicalConstraintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000/ppq\u0000~"
++"\u0000*\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\r"
++"q\u0000~\u0000\u0013t\u0000\u0007decimalq\u0000~\u0000*q\u0000~\u0000;t\u0000\u000efractionDigits\u0000\u0000\u0000\u0000q\u0000~\u00005t\u0000\fminInc"
++"lusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Num"
++"ber\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00005t\u0000\fmaxInclusivesq\u0000~\u0000?\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000"
++"~\u0000\u0019sq\u0000~\u0000\u001aq\u0000~\u0000(q\u0000~\u0000\u0013sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0010L\u0000\fnamespaceURIq\u0000~\u0000\u0010xr\u0000\u001dcom.sun.ms"
++"v.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\tcommentIdt\u0000\u0000sr\u00000com.sun.m"
++"sv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~"
++"\u0000!\u0001q\u0000~\u0000Ksq\u0000~\u0000\u001cppsq\u0000~\u0000\u001eq\u0000~\u0000\"psq\u0000~\u0000\bppsr\u0000%com.sun.msv.datatype"
++".xsd.DateTimeType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000)com.sun.msv.datatype.xsd.Dat"
++"eTimeBaseType\u0014W\u001a@3\u00a5\u00b4\u00e5\u0002\u0000\u0000xq\u0000~\u0000\rq\u0000~\u0000\u0013t\u0000\bdateTimeq\u0000~\u0000*q\u0000~\u0000\u0019sq\u0000~"
++"\u0000\u001aq\u0000~\u0000Sq\u0000~\u0000\u0013sq\u0000~\u0000Et\u0000\u000bcreatedDateq\u0000~\u0000Iq\u0000~\u0000Ksq\u0000~\u0000\u001cppsq\u0000~\u0000\u001eq\u0000~\u0000"
++"\"psq\u0000~\u0000\bppsr\u0000 com.sun.msv.datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000"
++"~\u0000%q\u0000~\u0000\u0013t\u0000\u0003intq\u0000~\u0000*sq\u0000~\u0000+ppq\u0000~\u0000*\u0000\u0001sq\u0000~\u00002ppq\u0000~\u0000*\u0000\u0000q\u0000~\u0000\'q\u0000~\u0000\'q"
++"\u0000~\u0000>sr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000@\u0080\u0000\u0000\u0000q\u0000~\u0000\'q"
++"\u0000~\u0000Bsq\u0000~\u0000_\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0019sq\u0000~\u0000\u001aq\u0000~\u0000\\q\u0000~\u0000\u0013sq\u0000~\u0000Et\u0000\u0006userIdq\u0000~\u0000Iq\u0000~\u0000K"
++"sr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTable"
++"t\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com."
++"sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005count"
++"B\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionP"
++"ool;xp\u0000\u0000\u0000\u0006\u0001pq\u0000~\u0000\u001dq\u0000~\u0000\u0005q\u0000~\u0000Wq\u0000~\u0000Mq\u0000~\u0000\u0007q\u0000~\u0000\u0006x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RecipeComment))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeCommentImpl target = ((magoffin.matt.ieat.domain.impl.RecipeCommentImpl) obj);
+        {
+            java.lang.Integer value = this.getUserId();
+            java.lang.Integer targetValue = target.getUserId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            java.util.Calendar targetValue = target.getCreatedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Long value = this.getCommentId();
+            java.lang.Long targetValue = target.getCommentId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.Integer value = this.getUserId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Long value = this.getCommentId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeCommentImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  6 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _UserId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _CommentId = new java.lang.Long(((long) javax.xml.bind.DatatypeConverter.parseLong(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _CreatedDate = ((java.util.Calendar) com.sun.msv.datatype.xsd.DateTimeType.theInstance.createJavaObject(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value), null));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  6 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  6 :
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        if (("commentId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  6 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  8 :
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("commentId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  5 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  6 :
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  9 :
+                            state = 10;
+                            eatText4(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "commentId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText2(value);
+                            return ;
+                        case  7 :
+                            state = 8;
+                            eatText1(value);
+                            return ;
+                        case  10 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            state = 6;
+                            continue outer;
+                        case  4 :
+                            state = 5;
+                            eatText3(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText4(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 2581 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeImpl.java

@@ -0,0 +1,2581 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeImpl implements magoffin.matt.ieat.domain.Recipe, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected com.sun.xml.bind.util.ListImpl _Comment;
+    protected magoffin.matt.ieat.domain.User _Owner;
+    protected java.lang.String _Directions;
+    protected magoffin.matt.ieat.domain.Difficulty _Difficulty;
+    protected com.sun.xml.bind.util.ListImpl _Rating;
+    protected java.lang.Long _RecipeId;
+    protected com.sun.xml.bind.util.ListImpl _RelatedRecipe;
+    protected com.sun.xml.bind.util.ListImpl _Step;
+    protected java.util.Calendar _ModifiedDate;
+    protected java.lang.String _Image;
+    protected java.lang.String _Source;
+    protected magoffin.matt.ieat.domain.Base _Base;
+    protected magoffin.matt.ieat.domain.System _System;
+    protected java.lang.String _Name;
+    protected magoffin.matt.ieat.domain.Ethnicity _Ethnicity;
+    protected java.lang.Integer _ServingSize;
+    protected magoffin.matt.ieat.domain.PrepTime _PrepTime;
+    protected com.sun.xml.bind.util.ListImpl _Ingredient;
+    protected java.lang.String _Excerpt;
+    protected java.util.Calendar _CreatedDate;
+    protected magoffin.matt.ieat.domain.Course _Course;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Recipe.class);
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getComment() {
+        if (_Comment == null) {
+            _Comment = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Comment;
+    }
+
+    public java.util.List getComment() {
+        return _getComment();
+    }
+
+    public magoffin.matt.ieat.domain.User getOwner() {
+        return _Owner;
+    }
+
+    public void setOwner(magoffin.matt.ieat.domain.User value) {
+        _Owner = value;
+    }
+
+    public java.lang.String getDirections() {
+        return _Directions;
+    }
+
+    public void setDirections(java.lang.String value) {
+        _Directions = value;
+    }
+
+    public magoffin.matt.ieat.domain.Difficulty getDifficulty() {
+        return _Difficulty;
+    }
+
+    public void setDifficulty(magoffin.matt.ieat.domain.Difficulty value) {
+        _Difficulty = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getRating() {
+        if (_Rating == null) {
+            _Rating = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Rating;
+    }
+
+    public java.util.List getRating() {
+        return _getRating();
+    }
+
+    public java.lang.Long getRecipeId() {
+        return _RecipeId;
+    }
+
+    public void setRecipeId(java.lang.Long value) {
+        _RecipeId = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getRelatedRecipe() {
+        if (_RelatedRecipe == null) {
+            _RelatedRecipe = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _RelatedRecipe;
+    }
+
+    public java.util.List getRelatedRecipe() {
+        return _getRelatedRecipe();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getStep() {
+        if (_Step == null) {
+            _Step = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Step;
+    }
+
+    public java.util.List getStep() {
+        return _getStep();
+    }
+
+    public java.util.Calendar getModifiedDate() {
+        return _ModifiedDate;
+    }
+
+    public void setModifiedDate(java.util.Calendar value) {
+        _ModifiedDate = value;
+    }
+
+    public java.lang.String getImage() {
+        return _Image;
+    }
+
+    public void setImage(java.lang.String value) {
+        _Image = value;
+    }
+
+    public java.lang.String getSource() {
+        return _Source;
+    }
+
+    public void setSource(java.lang.String value) {
+        _Source = value;
+    }
+
+    public magoffin.matt.ieat.domain.Base getBase() {
+        return _Base;
+    }
+
+    public void setBase(magoffin.matt.ieat.domain.Base value) {
+        _Base = value;
+    }
+
+    public magoffin.matt.ieat.domain.System getSystem() {
+        return _System;
+    }
+
+    public void setSystem(magoffin.matt.ieat.domain.System value) {
+        _System = value;
+    }
+
+    public java.lang.String getName() {
+        return _Name;
+    }
+
+    public void setName(java.lang.String value) {
+        _Name = value;
+    }
+
+    public magoffin.matt.ieat.domain.Ethnicity getEthnicity() {
+        return _Ethnicity;
+    }
+
+    public void setEthnicity(magoffin.matt.ieat.domain.Ethnicity value) {
+        _Ethnicity = value;
+    }
+
+    public java.lang.Integer getServingSize() {
+        return _ServingSize;
+    }
+
+    public void setServingSize(java.lang.Integer value) {
+        _ServingSize = value;
+    }
+
+    public magoffin.matt.ieat.domain.PrepTime getPrepTime() {
+        return _PrepTime;
+    }
+
+    public void setPrepTime(magoffin.matt.ieat.domain.PrepTime value) {
+        _PrepTime = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getIngredient() {
+        if (_Ingredient == null) {
+            _Ingredient = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Ingredient;
+    }
+
+    public java.util.List getIngredient() {
+        return _getIngredient();
+    }
+
+    public java.lang.String getExcerpt() {
+        return _Excerpt;
+    }
+
+    public void setExcerpt(java.lang.String value) {
+        _Excerpt = value;
+    }
+
+    public java.util.Calendar getCreatedDate() {
+        return _CreatedDate;
+    }
+
+    public void setCreatedDate(java.util.Calendar value) {
+        _CreatedDate = value;
+    }
+
+    public magoffin.matt.ieat.domain.Course getCourse() {
+        return _Course;
+    }
+
+    public void setCourse(magoffin.matt.ieat.domain.Course value) {
+        _Course = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Comment == null)? 0 :_Comment.size());
+        int idx5 = 0;
+        final int len5 = ((_Rating == null)? 0 :_Rating.size());
+        int idx7 = 0;
+        final int len7 = ((_RelatedRecipe == null)? 0 :_RelatedRecipe.size());
+        int idx8 = 0;
+        final int len8 = ((_Step == null)? 0 :_Step.size());
+        int idx18 = 0;
+        final int len18 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        context.startElement("http://msqr.us/xsd/ieat", "name");
+        context.endNamespaceDecls();
+        context.endAttributes();
+        try {
+            context.text(((java.lang.String) _Name), "Name");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endElement();
+        if (_Excerpt!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "excerpt");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Excerpt), "Excerpt");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        if (_Source!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "source");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Source), "Source");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        if (_Directions!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "directions");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Directions), "Directions");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        if (_Image!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "image");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Image), "Image");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        if (_Base!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "base");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Base), "Base");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Base), "Base");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Base), "Base");
+            context.endElement();
+        }
+        if (_Course!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "course");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Course), "Course");
+            context.endElement();
+        }
+        if (_Ethnicity!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "ethnicity");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ethnicity), "Ethnicity");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ethnicity), "Ethnicity");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ethnicity), "Ethnicity");
+            context.endElement();
+        }
+        if (_Difficulty!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "difficulty");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Difficulty), "Difficulty");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Difficulty), "Difficulty");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Difficulty), "Difficulty");
+            context.endElement();
+        }
+        if (_Owner!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "owner");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Owner), "Owner");
+            context.endElement();
+        }
+        if (_PrepTime!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "prep-time");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _PrepTime), "PrepTime");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _PrepTime), "PrepTime");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _PrepTime), "PrepTime");
+            context.endElement();
+        }
+        context.startElement("http://msqr.us/xsd/ieat", "system");
+        context.childAsURIs(((com.sun.xml.bind.JAXBObject) _System), "System");
+        context.endNamespaceDecls();
+        context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _System), "System");
+        context.endAttributes();
+        context.childAsBody(((com.sun.xml.bind.JAXBObject) _System), "System");
+        context.endElement();
+        while (idx18 != len18) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            int idx_24 = idx18;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_24 ++)), "Ingredient");
+            context.endNamespaceDecls();
+            int idx_25 = idx18;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_25 ++)), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx18 ++)), "Ingredient");
+            context.endElement();
+        }
+        while (idx7 != len7) {
+            context.startElement("http://msqr.us/xsd/ieat", "related-recipe");
+            int idx_26 = idx7;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _RelatedRecipe.get(idx_26 ++)), "RelatedRecipe");
+            context.endNamespaceDecls();
+            int idx_27 = idx7;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _RelatedRecipe.get(idx_27 ++)), "RelatedRecipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _RelatedRecipe.get(idx7 ++)), "RelatedRecipe");
+            context.endElement();
+        }
+        while (idx8 != len8) {
+            context.startElement("http://msqr.us/xsd/ieat", "step");
+            int idx_28 = idx8;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Step.get(idx_28 ++)), "Step");
+            context.endNamespaceDecls();
+            int idx_29 = idx8;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Step.get(idx_29 ++)), "Step");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Step.get(idx8 ++)), "Step");
+            context.endElement();
+        }
+        while (idx1 != len1) {
+            context.startElement("http://msqr.us/xsd/ieat", "comment");
+            int idx_30 = idx1;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Comment.get(idx_30 ++)), "Comment");
+            context.endNamespaceDecls();
+            int idx_31 = idx1;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Comment.get(idx_31 ++)), "Comment");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Comment.get(idx1 ++)), "Comment");
+            context.endElement();
+        }
+        while (idx5 != len5) {
+            context.startElement("http://msqr.us/xsd/ieat", "rating");
+            int idx_32 = idx5;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Rating.get(idx_32 ++)), "Rating");
+            context.endNamespaceDecls();
+            int idx_33 = idx5;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Rating.get(idx_33 ++)), "Rating");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Rating.get(idx5 ++)), "Rating");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Comment == null)? 0 :_Comment.size());
+        int idx5 = 0;
+        final int len5 = ((_Rating == null)? 0 :_Rating.size());
+        int idx7 = 0;
+        final int len7 = ((_RelatedRecipe == null)? 0 :_RelatedRecipe.size());
+        int idx8 = 0;
+        final int len8 = ((_Step == null)? 0 :_Step.size());
+        int idx18 = 0;
+        final int len18 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        if (_CreatedDate!= null) {
+            context.startAttribute("", "createdDate");
+            try {
+                context.text(com.sun.msv.datatype.xsd.DateTimeType.theInstance.serializeJavaObject(((java.util.Calendar) _CreatedDate), null), "CreatedDate");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_ModifiedDate!= null) {
+            context.startAttribute("", "modifiedDate");
+            try {
+                context.text(com.sun.msv.datatype.xsd.DateTimeType.theInstance.serializeJavaObject(((java.util.Calendar) _ModifiedDate), null), "ModifiedDate");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_RecipeId!= null) {
+            context.startAttribute("", "recipeId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printLong(((long)((java.lang.Long) _RecipeId).longValue())), "RecipeId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_ServingSize!= null) {
+            context.startAttribute("", "servingSize");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _ServingSize).intValue())), "ServingSize");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        while (idx18 != len18) {
+            idx18 += 1;
+        }
+        while (idx7 != len7) {
+            idx7 += 1;
+        }
+        while (idx8 != len8) {
+            idx8 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Comment == null)? 0 :_Comment.size());
+        int idx5 = 0;
+        final int len5 = ((_Rating == null)? 0 :_Rating.size());
+        int idx7 = 0;
+        final int len7 = ((_RelatedRecipe == null)? 0 :_RelatedRecipe.size());
+        int idx8 = 0;
+        final int len8 = ((_Step == null)? 0 :_Step.size());
+        int idx18 = 0;
+        final int len18 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        while (idx18 != len18) {
+            idx18 += 1;
+        }
+        while (idx7 != len7) {
+            idx7 += 1;
+        }
+        while (idx8 != len8) {
+            idx8 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Recipe.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~"
++"\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\'com."
++"sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000"
++"\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.Elem"
++"entExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentMode"
++"lq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000"
++"\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv"
++".datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.s"
++"un.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun."
++"msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.data"
++"type.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/la"
++"ng/String;L\u0000\btypeNameq\u0000~\u0000&L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datat"
++"ype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLS"
++"chemat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcess"
++"or$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpac"
++"eProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$N"
++"ullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.Stri"
++"ngPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000&L\u0000\fnamespaceURIq\u0000~\u0000&xpq\u0000~\u0000"
++"*q\u0000~\u0000)sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr"
++"\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tn"
++"ameClassq\u0000~\u0000\u001axq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuex"
++"p\u0000psq\u0000~\u0000\u001eppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000,q\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0000;q\u0000~\u0000)sr\u0000#co"
++"m.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000"
++"&L\u0000\fnamespaceURIq\u0000~\u0000&xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instancesr"
++"\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0003sq\u0000~\u00006\u0001q\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ieatsq"
++"\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~"
++"\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0007excerptq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000"
++"ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006sourceq\u0000~"
++"\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007"
++"pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\ndirectionsq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q"
++"\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?"
++"t\u0000\u0005imageq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~"
++"\u00002ppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.s"
++"un.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u00007psq\u0000"
++"~\u00004q\u0000~\u00007psr\u00002com.sun.msv.grammar.Expression$AnyStringExpress"
++"ion\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000Fq\u0000~\u0000psr\u0000 com.sun.msv.grammar.AnyNam"
++"eClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000@q\u0000~\u0000Esq\u0000~\u0000?t\u0000\u001emagoffin.matt.ieat.doma"
++"in.Baset\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u00002p"
++"psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004baseq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002pps"
++"q\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007"
++"pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000 magoffin.matt.ieat.domain.Courseq\u0000~"
++"\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006courseq\u0000~\u0000Iq\u0000~"
++"\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007p"
++"sq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000#magoffin.matt.ieat.domai"
++"n.Ethnicityq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\t"
++"ethnicityq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000"
++"~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000$magoffi"
++"n.matt.ieat.domain.Difficultyq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q"
++"\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\ndifficultyq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000s"
++"q\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000"
++"~\u0000Esq\u0000~\u0000?t\u0000\u001emagoffin.matt.ieat.domain.Userq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u0000"
++"4q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0005ownerq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019"
++"q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000"
++"pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\"magoffin.matt.ieat.domain.PrepTimeq\u0000~\u0000us"
++"q\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\tprep-timeq\u0000~\u0000Iq\u0000~"
++"\u0000Esq\u0000~\u0000\u0019pp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007p"
++"q\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000 magoffin.matt.ieat.domain.Systemq\u0000~\u0000"
++"usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006systemq\u0000~\u0000Isq\u0000~"
++"\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000k"
++"q\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000*magoffin.matt.ieat"
++".domain.RecipeIngredientq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq"
++"\u0000~\u0000Esq\u0000~\u0000?t\u0000\ningredientq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q"
++"\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000p"
++"q\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\'magoffin.matt.ieat.domain.RelatedRecipeq\u0000"
++"~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u000erelated-recip"
++"eq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp"
++"\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000$mag"
++"offin.matt.ieat.domain.RecipeStepq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000"
++"~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004stepq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~"
++"\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000"
++"~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\'magoffin.matt.ieat.domain.RecipeCommen"
++"tq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0007commentq\u0000~"
++"\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000"
++"~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000&magoffi"
++"n.matt.ieat.domain.RecipeRatingq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000"
++"8q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006ratingq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~"
++"\u0000\u001eppsr\u0000%com.sun.msv.datatype.xsd.DateTimeType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000)"
++"com.sun.msv.datatype.xsd.DateTimeBaseType\u0014W\u001a@3\u00a5\u00b4\u00e5\u0002\u0000\u0000xq\u0000~\u0000#q\u0000"
++"~\u0000)t\u0000\bdateTimeq\u0000~\u0000=q\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0001\u0013q\u0000~\u0000)sq\u0000~\u0000?t\u0000\u000bcreatedDate"
++"t\u0000\u0000q\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0001\u000fsq\u0000~\u0000?t\u0000\fmodifiedDateq\u0000~\u0001\u0017q"
++"\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~\u0000\u001eppsr\u0000!com.sun.msv.datatype.xsd"
++".LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.IntegerDeri"
++"vedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/xsd/"
++"XSDatatypeImpl;xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0004longq\u0000~\u0000=sr\u0000*com.sun.msv.dataty"
++"pe.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype."
++"xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/Object;x"
++"r\u00009com.sun.msv.datatype.xsd.DataTypeWithValueConstraintFacet"
++"\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithFacet\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTypeq\u0000~\u0001!"
++"L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteType;L\u0000\t"
++"facetNameq\u0000~\u0000&xq\u0000~\u0000%ppq\u0000~\u0000=\u0000\u0001sr\u0000*com.sun.msv.datatype.xsd.Mi"
++"nInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001%ppq\u0000~\u0000=\u0000\u0000sr\u0000$com.sun.msv.dat"
++"atype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001 q\u0000~\u0000)t\u0000\u0007integerq\u0000~\u0000=sr"
++"\u0000,com.sun.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005"
++"scalexr\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstra"
++"intFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0001(ppq\u0000~\u0000=\u0001\u0000sr\u0000#com.sun.msv.datatype.x"
++"sd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0007decimalq\u0000~\u0000=q\u0000~\u00014t\u0000\u000efr"
++"actionDigits\u0000\u0000\u0000\u0000q\u0000~\u0001.t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f"
++"#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0001.t"
++"\u0000\fmaxInclusivesq\u0000~\u00018\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0001#q\u0000~\u0000)sq\u0000~\u0000?t\u0000\bre"
++"cipeIdq\u0000~\u0001\u0017q\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~\u0000\u001eppsr\u0000 com.sun.msv."
++"datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001 q\u0000~\u0000)t\u0000\u0003intq\u0000~\u0000=sq\u0000~\u0001$p"
++"pq\u0000~\u0000=\u0000\u0001sq\u0000~\u0001+ppq\u0000~\u0000=\u0000\u0000q\u0000~\u0001\"q\u0000~\u0001\"q\u0000~\u00017sr\u0000\u0011java.lang.Integer\u0012"
++"\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u00019\u0080\u0000\u0000\u0000q\u0000~\u0001\"q\u0000~\u0001;sq\u0000~\u0001H\u007f\u00ff\u00ff\u00ffq\u0000~\u0000/sq\u0000~\u00000q"
++"\u0000~\u0001Eq\u0000~\u0000)sq\u0000~\u0000?t\u0000\u000bservingSizeq\u0000~\u0001\u0017q\u0000~\u0000Esr\u0000\"com.sun.msv.gramm"
++"ar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/gramm"
++"ar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.Expre"
++"ssionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006pa"
++"rentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000f\u0001pq\u0000~\u0000\u0012q\u0000~\u0000"
++"aq\u0000~\u0000Zq\u0000~\u0000Sq\u0000~\u0000Lq\u0000~\u0000\u001dq\u0000~\u0000\u0005q\u0000~\u0000\u0016q\u0000~\u0001@q\u0000~\u0000\u0015q\u0000~\u0000\u00c7q\u0000~\u0000\u00d5q\u0000~\u0000\u00e3q\u0000~\u0000"
++"\u000bq\u0000~\u0000\u00f1q\u0000~\u0000\u00ffq\u0000~\u0000\u0006q\u0000~\u0000bq\u0000~\u0000[q\u0000~\u0000Tq\u0000~\u0000Mq\u0000~\u00003q\u0000~\u0000\u0013q\u0000~\u0000\u00c3q\u0000~\u0000\u00b7q\u0000~\u0000"
++"\u00aaq\u0000~\u0000\u009dq\u0000~\u0000\u0090q\u0000~\u0000\u0083q\u0000~\u0000vq\u0000~\u0000\u00d1q\u0000~\u0000\u00dfq\u0000~\u0000\u0011q\u0000~\u0000\u00edq\u0000~\u0000\u00fbq\u0000~\u0001\tq\u0000~\u0000\u0014q\u0000~\u0000"
++"\u0010q\u0000~\u0000\u00c8q\u0000~\u0000\u00d6q\u0000~\u0000\u00e4q\u0000~\u0000\u00f2q\u0000~\u0001\u0000q\u0000~\u0000\u00bfq\u0000~\u0000\u00b3q\u0000~\u0000\u00a6q\u0000~\u0000\u0099q\u0000~\u0000\u008cq\u0000~\u0000\u007fq\u0000~\u0000"
++"mq\u0000~\u0000\u00cdq\u0000~\u0000\u00dbq\u0000~\u0000\u00e9q\u0000~\u0000\u00f7q\u0000~\u0001\u0005q\u0000~\u0001\u001cq\u0000~\u0000\nq\u0000~\u0000\u000eq\u0000~\u0000\fq\u0000~\u0000\u00beq\u0000~\u0000\u00b2q\u0000~\u0000"
++"\u00a5q\u0000~\u0000\u0098q\u0000~\u0000\u008bq\u0000~\u0000~q\u0000~\u0000jq\u0000~\u0000\u00ccq\u0000~\u0000\u00daq\u0000~\u0000\u00e8q\u0000~\u0000\u00f6q\u0000~\u0001\u0004q\u0000~\u0000\tq\u0000~\u0000\u00aeq\u0000~\u0000"
++"\u00a1q\u0000~\u0000\u0094q\u0000~\u0000\u0087q\u0000~\u0000zq\u0000~\u0000fq\u0000~\u0001\rq\u0000~\u0000\bq\u0000~\u0000\u00b0q\u0000~\u0000\u00a3q\u0000~\u0000\u0096q\u0000~\u0000\u0089q\u0000~\u0000|q\u0000~\u0000"
++"hq\u0000~\u0000\u00bcq\u0000~\u0000\u00caq\u0000~\u0000\u00d8q\u0000~\u0000\u00e6q\u0000~\u0000\u00f4q\u0000~\u0001\u0002q\u0000~\u0000\u0017q\u0000~\u0001\u0018q\u0000~\u0000\rq\u0000~\u0000\u0007q\u0000~\u0000_q\u0000~\u0000"
++"Xq\u0000~\u0000Qq\u0000~\u0000Jq\u0000~\u0000\u000fq\u0000~\u0000\u0018x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Recipe))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeImpl target = ((magoffin.matt.ieat.domain.impl.RecipeImpl) obj);
+        {
+            java.util.List value = this.getComment();
+            java.util.List targetValue = target.getComment();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            magoffin.matt.ieat.domain.User targetValue = target.getOwner();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getDirections();
+            java.lang.String targetValue = target.getDirections();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Difficulty value = this.getDifficulty();
+            magoffin.matt.ieat.domain.Difficulty targetValue = target.getDifficulty();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRating();
+            java.util.List targetValue = target.getRating();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Long value = this.getRecipeId();
+            java.lang.Long targetValue = target.getRecipeId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRelatedRecipe();
+            java.util.List targetValue = target.getRelatedRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getStep();
+            java.util.List targetValue = target.getStep();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getModifiedDate();
+            java.util.Calendar targetValue = target.getModifiedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getImage();
+            java.lang.String targetValue = target.getImage();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getSource();
+            java.lang.String targetValue = target.getSource();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Base value = this.getBase();
+            magoffin.matt.ieat.domain.Base targetValue = target.getBase();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.System value = this.getSystem();
+            magoffin.matt.ieat.domain.System targetValue = target.getSystem();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Ethnicity value = this.getEthnicity();
+            magoffin.matt.ieat.domain.Ethnicity targetValue = target.getEthnicity();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getServingSize();
+            java.lang.Integer targetValue = target.getServingSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.PrepTime value = this.getPrepTime();
+            magoffin.matt.ieat.domain.PrepTime targetValue = target.getPrepTime();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getExcerpt();
+            java.lang.String targetValue = target.getExcerpt();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            java.util.Calendar targetValue = target.getCreatedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            magoffin.matt.ieat.domain.Course targetValue = target.getCourse();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getComment();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getDirections();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Difficulty value = this.getDifficulty();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRating();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Long value = this.getRecipeId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRelatedRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getStep();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.Calendar value = this.getModifiedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getImage();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getSource();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Base value = this.getBase();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.System value = this.getSystem();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Ethnicity value = this.getEthnicity();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getServingSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.PrepTime value = this.getPrepTime();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getExcerpt();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------------------------------------------------------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  63 :
+                        if (("rating" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 61;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  40 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  54 :
+                        if (("related-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 52;
+                            return ;
+                        }
+                        if (("step" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 55;
+                            return ;
+                        }
+                        state = 57;
+                        continue outer;
+                    case  28 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        if (("excerpt" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 16;
+                            return ;
+                        }
+                        state = 18;
+                        continue outer;
+                    case  12 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 13;
+                            return ;
+                        }
+                        break;
+                    case  48 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 49;
+                            return ;
+                        }
+                        state = 51;
+                        continue outer;
+                    case  37 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  52 :
+                        if (("kind" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getRelatedRecipe().add(((magoffin.matt.ieat.domain.impl.RelatedRecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RelatedRecipeImpl.class), 53, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  36 :
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 37;
+                            return ;
+                        }
+                        state = 39;
+                        continue outer;
+                    case  31 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  45 :
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 46;
+                            return ;
+                        }
+                        break;
+                    case  49 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname, __atts)));
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  43 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  30 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 31;
+                            return ;
+                        }
+                        state = 33;
+                        continue outer;
+                    case  42 :
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 43;
+                            return ;
+                        }
+                        state = 45;
+                        continue outer;
+                    case  34 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  18 :
+                        if (("source" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 19;
+                            return ;
+                        }
+                        state = 21;
+                        continue outer;
+                    case  57 :
+                        if (("step" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 55;
+                            return ;
+                        }
+                        if (("comment" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 58;
+                            return ;
+                        }
+                        state = 60;
+                        continue outer;
+                    case  39 :
+                        if (("owner" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 40;
+                            return ;
+                        }
+                        state = 42;
+                        continue outer;
+                    case  60 :
+                        if (("comment" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 58;
+                            return ;
+                        }
+                        if (("rating" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 61;
+                            return ;
+                        }
+                        state = 63;
+                        continue outer;
+                    case  27 :
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 28;
+                            return ;
+                        }
+                        state = 30;
+                        continue outer;
+                    case  24 :
+                        if (("image" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 25;
+                            return ;
+                        }
+                        state = 27;
+                        continue outer;
+                    case  21 :
+                        if (("directions" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 22;
+                            return ;
+                        }
+                        state = 24;
+                        continue outer;
+                    case  46 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  61 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname, __atts)));
+                        return ;
+                    case  51 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 49;
+                            return ;
+                        }
+                        if (("related-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 52;
+                            return ;
+                        }
+                        state = 54;
+                        continue outer;
+                    case  58 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  33 :
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 34;
+                            return ;
+                        }
+                        state = 36;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _CreatedDate = ((java.util.Calendar) com.sun.msv.datatype.xsd.DateTimeType.theInstance.createJavaObject(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value), null));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _RecipeId = new java.lang.Long(((long) javax.xml.bind.DatatypeConverter.parseLong(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _ModifiedDate = ((java.util.Calendar) com.sun.msv.datatype.xsd.DateTimeType.theInstance.createJavaObject(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value), null));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText4(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _ServingSize = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  63 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  40 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  20 :
+                        if (("source" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 21;
+                            return ;
+                        }
+                        break;
+                    case  54 :
+                        state = 57;
+                        continue outer;
+                    case  41 :
+                        if (("owner" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 42;
+                            return ;
+                        }
+                        break;
+                    case  28 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  47 :
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 48;
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  48 :
+                        state = 51;
+                        continue outer;
+                    case  14 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 15;
+                            return ;
+                        }
+                        break;
+                    case  23 :
+                        if (("directions" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 24;
+                            return ;
+                        }
+                        break;
+                    case  37 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  17 :
+                        if (("excerpt" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 18;
+                            return ;
+                        }
+                        break;
+                    case  44 :
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 45;
+                            return ;
+                        }
+                        break;
+                    case  36 :
+                        state = 39;
+                        continue outer;
+                    case  38 :
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 39;
+                            return ;
+                        }
+                        break;
+                    case  31 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  62 :
+                        if (("rating" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 63;
+                            return ;
+                        }
+                        break;
+                    case  49 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  43 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  30 :
+                        state = 33;
+                        continue outer;
+                    case  42 :
+                        state = 45;
+                        continue outer;
+                    case  34 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  18 :
+                        state = 21;
+                        continue outer;
+                    case  57 :
+                        state = 60;
+                        continue outer;
+                    case  39 :
+                        state = 42;
+                        continue outer;
+                    case  60 :
+                        state = 63;
+                        continue outer;
+                    case  53 :
+                        if (("related-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 54;
+                            return ;
+                        }
+                        break;
+                    case  27 :
+                        state = 30;
+                        continue outer;
+                    case  24 :
+                        state = 27;
+                        continue outer;
+                    case  21 :
+                        state = 24;
+                        continue outer;
+                    case  59 :
+                        if (("comment" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 60;
+                            return ;
+                        }
+                        break;
+                    case  46 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  29 :
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 30;
+                            return ;
+                        }
+                        break;
+                    case  50 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 51;
+                            return ;
+                        }
+                        break;
+                    case  61 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                        return ;
+                    case  26 :
+                        if (("image" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 27;
+                            return ;
+                        }
+                        break;
+                    case  35 :
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 36;
+                            return ;
+                        }
+                        break;
+                    case  32 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 33;
+                            return ;
+                        }
+                        break;
+                    case  51 :
+                        state = 54;
+                        continue outer;
+                    case  56 :
+                        if (("step" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 57;
+                            return ;
+                        }
+                        break;
+                    case  58 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  33 :
+                        state = 36;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  63 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  40 :
+                        if (("accessLevel" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("country" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("language" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("lastLoginDate" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("login" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _Owner = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 41, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  54 :
+                        state = 57;
+                        continue outer;
+                    case  28 :
+                        if (("baseId" == ___local)&&("" == ___uri)) {
+                            _Base = ((magoffin.matt.ieat.domain.impl.BaseImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.BaseImpl.class), 29, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  48 :
+                        state = 51;
+                        continue outer;
+                    case  37 :
+                        if (("difficultyId" == ___local)&&("" == ___uri)) {
+                            _Difficulty = ((magoffin.matt.ieat.domain.impl.DifficultyImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.DifficultyImpl.class), 38, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  36 :
+                        state = 39;
+                        continue outer;
+                    case  31 :
+                        if (("courseId" == ___local)&&("" == ___uri)) {
+                            _Course = ((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.CourseImpl.class), 32, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  49 :
+                        if (("optional" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("qualifier" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                        return ;
+                    case  0 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  43 :
+                        if (("prepTimeId" == ___local)&&("" == ___uri)) {
+                            _PrepTime = ((magoffin.matt.ieat.domain.impl.PrepTimeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.PrepTimeImpl.class), 44, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  30 :
+                        state = 33;
+                        continue outer;
+                    case  42 :
+                        state = 45;
+                        continue outer;
+                    case  34 :
+                        if (("ethnicityId" == ___local)&&("" == ___uri)) {
+                            _Ethnicity = ((magoffin.matt.ieat.domain.impl.EthnicityImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.EthnicityImpl.class), 35, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  18 :
+                        state = 21;
+                        continue outer;
+                    case  57 :
+                        state = 60;
+                        continue outer;
+                    case  39 :
+                        state = 42;
+                        continue outer;
+                    case  60 :
+                        state = 63;
+                        continue outer;
+                    case  27 :
+                        state = 30;
+                        continue outer;
+                    case  24 :
+                        state = 27;
+                        continue outer;
+                    case  21 :
+                        state = 24;
+                        continue outer;
+                    case  46 :
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            _System = ((magoffin.matt.ieat.domain.impl.SystemImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.SystemImpl.class), 47, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  61 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("rating" == ___local)&&("" == ___uri)) {
+                            _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("ratingId" == ___local)&&("" == ___uri)) {
+                            _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                        return ;
+                    case  51 :
+                        state = 54;
+                        continue outer;
+                    case  58 :
+                        if (("commentId" == ___local)&&("" == ___uri)) {
+                            _getComment().add(((magoffin.matt.ieat.domain.impl.RecipeCommentImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeCommentImpl.class), 59, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _getComment().add(((magoffin.matt.ieat.domain.impl.RecipeCommentImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeCommentImpl.class), 59, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _getComment().add(((magoffin.matt.ieat.domain.impl.RecipeCommentImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeCommentImpl.class), 59, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  33 :
+                        state = 36;
+                        continue outer;
+                    case  9 :
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            state = 10;
+                            return ;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  63 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  40 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  54 :
+                        state = 57;
+                        continue outer;
+                    case  28 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  5 :
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  48 :
+                        state = 51;
+                        continue outer;
+                    case  8 :
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  37 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  36 :
+                        state = 39;
+                        continue outer;
+                    case  31 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  49 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, ___uri, ___local, ___qname)));
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  43 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  30 :
+                        state = 33;
+                        continue outer;
+                    case  42 :
+                        state = 45;
+                        continue outer;
+                    case  34 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  18 :
+                        state = 21;
+                        continue outer;
+                    case  57 :
+                        state = 60;
+                        continue outer;
+                    case  39 :
+                        state = 42;
+                        continue outer;
+                    case  60 :
+                        state = 63;
+                        continue outer;
+                    case  27 :
+                        state = 30;
+                        continue outer;
+                    case  24 :
+                        state = 27;
+                        continue outer;
+                    case  21 :
+                        state = 24;
+                        continue outer;
+                    case  46 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  61 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, ___uri, ___local, ___qname)));
+                        return ;
+                    case  51 :
+                        state = 54;
+                        continue outer;
+                    case  58 :
+                        attIdx = context.getAttribute("", "commentId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  33 :
+                        state = 36;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                    case  2 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  63 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  40 :
+                            attIdx = context.getAttribute("", "accessLevel");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "country");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "language");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "lastLoginDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "login");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  54 :
+                            state = 57;
+                            continue outer;
+                        case  28 :
+                            attIdx = context.getAttribute("", "baseId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Base = ((magoffin.matt.ieat.domain.impl.BaseImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.BaseImpl.class), 29, value));
+                            return ;
+                        case  15 :
+                            state = 18;
+                            continue outer;
+                        case  16 :
+                            state = 17;
+                            eatText5(value);
+                            return ;
+                        case  25 :
+                            state = 26;
+                            eatText6(value);
+                            return ;
+                        case  48 :
+                            state = 51;
+                            continue outer;
+                        case  37 :
+                            attIdx = context.getAttribute("", "difficultyId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Difficulty = ((magoffin.matt.ieat.domain.impl.DifficultyImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.DifficultyImpl.class), 38, value));
+                            return ;
+                        case  13 :
+                            state = 14;
+                            eatText7(value);
+                            return ;
+                        case  19 :
+                            state = 20;
+                            eatText8(value);
+                            return ;
+                        case  36 :
+                            state = 39;
+                            continue outer;
+                        case  31 :
+                            attIdx = context.getAttribute("", "courseId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Course = ((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.CourseImpl.class), 32, value));
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  49 :
+                            attIdx = context.getAttribute("", "optional");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "qualifier");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 50, value)));
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  43 :
+                            attIdx = context.getAttribute("", "prepTimeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _PrepTime = ((magoffin.matt.ieat.domain.impl.PrepTimeImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.PrepTimeImpl.class), 44, value));
+                            return ;
+                        case  30 :
+                            state = 33;
+                            continue outer;
+                        case  42 :
+                            state = 45;
+                            continue outer;
+                        case  34 :
+                            attIdx = context.getAttribute("", "ethnicityId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Ethnicity = ((magoffin.matt.ieat.domain.impl.EthnicityImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.EthnicityImpl.class), 35, value));
+                            return ;
+                        case  7 :
+                            state = 8;
+                            eatText2(value);
+                            return ;
+                        case  18 :
+                            state = 21;
+                            continue outer;
+                        case  57 :
+                            state = 60;
+                            continue outer;
+                        case  10 :
+                            state = 11;
+                            eatText4(value);
+                            return ;
+                        case  39 :
+                            state = 42;
+                            continue outer;
+                        case  60 :
+                            state = 63;
+                            continue outer;
+                        case  27 :
+                            state = 30;
+                            continue outer;
+                        case  24 :
+                            state = 27;
+                            continue outer;
+                        case  21 :
+                            state = 24;
+                            continue outer;
+                        case  46 :
+                            attIdx = context.getAttribute("", "systemId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _System = ((magoffin.matt.ieat.domain.impl.SystemImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.SystemImpl.class), 47, value));
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  61 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "rating");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "ratingId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getRating().add(((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeRatingImpl.class), 62, value)));
+                            return ;
+                        case  22 :
+                            state = 23;
+                            eatText9(value);
+                            return ;
+                        case  4 :
+                            state = 5;
+                            eatText3(value);
+                            return ;
+                        case  51 :
+                            state = 54;
+                            continue outer;
+                        case  58 :
+                            attIdx = context.getAttribute("", "commentId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getComment().add(((magoffin.matt.ieat.domain.impl.RecipeCommentImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeCommentImpl.class), 59, value)));
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            state = 6;
+                            continue outer;
+                        case  33 :
+                            state = 36;
+                            continue outer;
+                        case  9 :
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 12;
+                                eatText4(v);
+                                continue outer;
+                            }
+                            state = 12;
+                            continue outer;
+                        case  55 :
+                            _getStep().add(((magoffin.matt.ieat.domain.impl.RecipeStepImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeStepImpl.class), 56, value)));
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText5(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Excerpt = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText6(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Image = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText7(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Name = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText8(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Source = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText9(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Directions = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 1078 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeIngredientImpl.java

@@ -0,0 +1,1078 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeIngredientImpl implements magoffin.matt.ieat.domain.RecipeIngredient, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected boolean has_Optional;
+    protected boolean _Optional;
+    protected magoffin.matt.ieat.domain.Ingredient _Ingredient;
+    protected magoffin.matt.ieat.domain.Recipe _Recipe;
+    protected boolean has_Quantity;
+    protected double _Quantity;
+    protected java.lang.String _Qualifier;
+    protected magoffin.matt.ieat.domain.Unit _Unit;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+    protected boolean has_Hjid;
+    protected java.lang.Long _Hjid;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RecipeIngredient.class);
+    }
+
+    public boolean isOptional() {
+        return _Optional;
+    }
+
+    public void setOptional(boolean value) {
+        _Optional = value;
+        has_Optional = true;
+    }
+
+    public magoffin.matt.ieat.domain.Ingredient getIngredient() {
+        return _Ingredient;
+    }
+
+    public void setIngredient(magoffin.matt.ieat.domain.Ingredient value) {
+        _Ingredient = value;
+    }
+
+    public magoffin.matt.ieat.domain.Recipe getRecipe() {
+        return _Recipe;
+    }
+
+    public void setRecipe(magoffin.matt.ieat.domain.Recipe value) {
+        _Recipe = value;
+    }
+
+    public double getQuantity() {
+        return _Quantity;
+    }
+
+    public void setQuantity(double value) {
+        _Quantity = value;
+        has_Quantity = true;
+    }
+
+    public java.lang.String getQualifier() {
+        return _Qualifier;
+    }
+
+    public void setQualifier(java.lang.String value) {
+        _Qualifier = value;
+    }
+
+    public magoffin.matt.ieat.domain.Unit getUnit() {
+        return _Unit;
+    }
+
+    public void setUnit(magoffin.matt.ieat.domain.Unit value) {
+        _Unit = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_Unit!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "unit");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Unit), "Unit");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Unit), "Unit");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Unit), "Unit");
+            context.endElement();
+        }
+        if (_Ingredient!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endElement();
+        }
+        if (_Recipe!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (has_Optional) {
+            context.startAttribute("", "optional");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _Optional)), "Optional");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_Qualifier!= null) {
+            context.startAttribute("", "qualifier");
+            try {
+                context.text(((java.lang.String) _Qualifier), "Qualifier");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (has_Quantity) {
+            context.startAttribute("", "quantity");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printDouble(((double) _Quantity)), "Quantity");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RecipeIngredient.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom."
++"sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv."
++"grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/su"
++"n/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq"
++"\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsq\u0000"
++"~\u0000\fpp\u0000sq\u0000~\u0000\nppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000"
++"\u0003q\u0000~\u0000\u0011psr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003exp"
++"q\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\rxq\u0000~\u0000\u0003q\u0000~\u0000\u0011psr\u00002com.sun.msv.grammar.Ex"
++"pression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u0010\u0001q\u0000~\u0000\u001bsr\u0000"
++" com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv."
++"grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expres"
++"sion$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u001cq\u0000~\u0000!sr\u0000#com.sun"
++".msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/"
++"lang/String;L\u0000\fnamespaceURIq\u0000~\u0000#xq\u0000~\u0000\u001et\u0000\u001emagoffin.matt.ieat."
++"domain.Unitt\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000"
++"~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L"
++"\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet"
++"\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datat"
++"ype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.Bui"
++"ltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.Concre"
++"teType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000#L\u0000\btypeNameq\u0000~\u0000#L\u0000\nwhiteSpace"
++"t\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http:/"
++"/www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.x"
++"sd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.da"
++"tatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.g"
++"rammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bco"
++"m.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000#L\u0000\fname"
++"spaceURIq\u0000~\u0000#xpq\u0000~\u00004q\u0000~\u00003sq\u0000~\u0000\"t\u0000\u0004typet\u0000)http://www.w3.org/2"
++"001/XMLSchema-instanceq\u0000~\u0000!sq\u0000~\u0000\"t\u0000\u0004unitt\u0000\u0017http://msqr.us/xs"
++"d/ieatq\u0000~\u0000!sq\u0000~\u0000\nppsq\u0000~\u0000\fq\u0000~\u0000\u0011p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\fpp\u0000sq\u0000~\u0000\nppsq\u0000"
++"~\u0000\u0015q\u0000~\u0000\u0011psq\u0000~\u0000\u0018q\u0000~\u0000\u0011pq\u0000~\u0000\u001bq\u0000~\u0000\u001fq\u0000~\u0000!sq\u0000~\u0000\"t\u0000$magoffin.matt.i"
++"eat.domain.Ingredientq\u0000~\u0000&sq\u0000~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011pq\u0000~\u0000,q\u0000~\u0000<q\u0000~\u0000"
++"!sq\u0000~\u0000\"t\u0000\ningredientq\u0000~\u0000Aq\u0000~\u0000!sq\u0000~\u0000\nppsq\u0000~\u0000\fq\u0000~\u0000\u0011p\u0000sq\u0000~\u0000\u0000pps"
++"q\u0000~\u0000\fpp\u0000sq\u0000~\u0000\nppsq\u0000~\u0000\u0015q\u0000~\u0000\u0011psq\u0000~\u0000\u0018q\u0000~\u0000\u0011pq\u0000~\u0000\u001bq\u0000~\u0000\u001fq\u0000~\u0000!sq\u0000~\u0000"
++"\"t\u0000 magoffin.matt.ieat.domain.Recipeq\u0000~\u0000&sq\u0000~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011"
++"pq\u0000~\u0000,q\u0000~\u0000<q\u0000~\u0000!sq\u0000~\u0000\"t\u0000\u0006recipeq\u0000~\u0000Aq\u0000~\u0000!sq\u0000~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011"
++"psq\u0000~\u0000)ppsr\u0000$com.sun.msv.datatype.xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xq\u0000~\u0000.q\u0000~\u00003t\u0000\u0007booleanq\u0000~\u00007q\u0000~\u00009sq\u0000~\u0000:q\u0000~\u0000aq\u0000~\u00003sq\u0000~\u0000\"t\u0000\bopti"
++"onalt\u0000\u0000q\u0000~\u0000!sq\u0000~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011psq\u0000~\u0000)ppsr\u0000#com.sun.msv.data"
++"type.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u0000.q\u0000~\u00003t\u0000\u0006"
++"stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Prese"
++"rve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00006\u0001q\u0000~\u00009sq\u0000~\u0000:q\u0000~\u0000kq\u0000~\u00003sq\u0000~\u0000\"t\u0000\tqualifier"
++"q\u0000~\u0000eq\u0000~\u0000!sq\u0000~\u0000\nppsq\u0000~\u0000\u0018q\u0000~\u0000\u0011psq\u0000~\u0000)ppsr\u0000#com.sun.msv.dataty"
++"pe.xsd.DoubleType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Flo"
++"atingNumberType\u00fc\u00e3\u00b6\u0087\u008c\u00a8|\u00e0\u0002\u0000\u0000xq\u0000~\u0000.q\u0000~\u00003t\u0000\u0006doubleq\u0000~\u00007q\u0000~\u00009sq\u0000~"
++"\u0000:q\u0000~\u0000wq\u0000~\u00003sq\u0000~\u0000\"t\u0000\bquantityq\u0000~\u0000eq\u0000~\u0000!sr\u0000\"com.sun.msv.gramm"
++"ar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/gramm"
++"ar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.Expre"
++"ssionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006pa"
++"rentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0017\u0001pq\u0000~\u0000\u000bq\u0000~\u0000"
++"Bq\u0000~\u0000Oq\u0000~\u0000\u0006q\u0000~\u0000\u0007q\u0000~\u0000fq\u0000~\u0000\u0012q\u0000~\u0000Dq\u0000~\u0000Qq\u0000~\u0000\u0014q\u0000~\u0000Fq\u0000~\u0000Sq\u0000~\u0000\bq\u0000~\u0000"
++"\u0017q\u0000~\u0000Gq\u0000~\u0000Tq\u0000~\u0000\u0005q\u0000~\u0000\tq\u0000~\u0000\\q\u0000~\u0000\'q\u0000~\u0000Kq\u0000~\u0000Xq\u0000~\u0000qx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RecipeIngredient))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeIngredientImpl target = ((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) obj);
+        {
+            boolean value = this.isOptional();
+            boolean targetValue = target.isOptional();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            magoffin.matt.ieat.domain.Ingredient targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            magoffin.matt.ieat.domain.Recipe targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            double value = this.getQuantity();
+            double targetValue = target.getQuantity();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getQualifier();
+            java.lang.String targetValue = target.getQualifier();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Unit value = this.getUnit();
+            magoffin.matt.ieat.domain.Unit targetValue = target.getUnit();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            boolean value = this.isOptional();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            double value = this.getQuantity();
+            hash = ((31 *hash)+((int)(java.lang.Double.doubleToLongBits(value)^(java.lang.Double.doubleToLongBits(value)>>> 32))));
+        }
+        {
+            java.lang.String value = this.getQualifier();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Unit value = this.getUnit();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public java.lang.Long getHjid() {
+        return _Hjid;
+    }
+
+    public void setHjid(java.lang.Long value) {
+        _Hjid = value;
+        has_Hjid = true;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-------------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  18 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  9 :
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 10;
+                            return ;
+                        }
+                        state = 12;
+                        continue outer;
+                    case  12 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 13;
+                            return ;
+                        }
+                        state = 15;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  15 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 16;
+                            return ;
+                        }
+                        state = 18;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Ingredient = ((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 14, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 17, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Qualifier = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Quantity = javax.xml.bind.DatatypeConverter.parseDouble(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Quantity = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Optional = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Optional = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  18 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  14 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 15;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  17 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 18;
+                            return ;
+                        }
+                        break;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  11 :
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  18 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        if (("qualifier" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  6 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  10 :
+                        if (("abbreviation" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("mass" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("toImperial" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("toMetric" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("toUS" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("unitId" == ___local)&&("" == ___uri)) {
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            _Ingredient = ((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 14, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 17, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 17, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 17, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 17, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        if (("optional" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  18 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  5 :
+                        if (("qualifier" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("optional" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  15 :
+                        state = 18;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  8 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  18 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  7 :
+                            state = 8;
+                            eatText2(value);
+                            return ;
+                        case  4 :
+                            state = 5;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "qualifier");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 6;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText3(value);
+                            return ;
+                        case  9 :
+                            state = 12;
+                            continue outer;
+                        case  12 :
+                            state = 15;
+                            continue outer;
+                        case  6 :
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  15 :
+                            state = 18;
+                            continue outer;
+                        case  10 :
+                            attIdx = context.getAttribute("", "abbreviation");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "mass");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "systemId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toImperial");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toMetric");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toUS");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "unitId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Unit = ((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.UnitImpl.class), 11, value));
+                            return ;
+                        case  13 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  16 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  0 :
+                            attIdx = context.getAttribute("", "optional");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 618 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeRatingImpl.java

@@ -0,0 +1,618 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeRatingImpl implements magoffin.matt.ieat.domain.RecipeRating, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.Long _RatingId;
+    protected java.lang.Integer _UserId;
+    protected boolean has_Rating;
+    protected short _Rating;
+    protected java.util.Calendar _CreatedDate;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RecipeRating.class);
+    }
+
+    public java.lang.Long getRatingId() {
+        return _RatingId;
+    }
+
+    public void setRatingId(java.lang.Long value) {
+        _RatingId = value;
+    }
+
+    public java.lang.Integer getUserId() {
+        return _UserId;
+    }
+
+    public void setUserId(java.lang.Integer value) {
+        _UserId = value;
+    }
+
+    public short getRating() {
+        return _Rating;
+    }
+
+    public void setRating(short value) {
+        _Rating = value;
+        has_Rating = true;
+    }
+
+    public java.util.Calendar getCreatedDate() {
+        return _CreatedDate;
+    }
+
+    public void setCreatedDate(java.util.Calendar value) {
+        _CreatedDate = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeRatingImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_CreatedDate!= null) {
+            context.startAttribute("", "createdDate");
+            try {
+                context.text(com.sun.msv.datatype.xsd.DateTimeType.theInstance.serializeJavaObject(((java.util.Calendar) _CreatedDate), null), "CreatedDate");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (has_Rating) {
+            context.startAttribute("", "rating");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printShort(((short) _Rating)), "Rating");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_RatingId!= null) {
+            context.startAttribute("", "ratingId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printLong(((long)((java.lang.Long) _RatingId).longValue())), "RatingId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (_UserId!= null) {
+            context.startAttribute("", "userId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _UserId).intValue())), "UserId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RecipeRating.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar."
++"ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.Attribut"
++"eExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/gramma"
++"r/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp"
++"\u0000psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/rel"
++"axng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/"
++"util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000%com.sun.msv.datatype.xsd.DateTim"
++"eType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000)com.sun.msv.datatype.xsd.DateTimeBaseTyp"
++"e\u0014W\u001a@3\u00a5\u00b4\u00e5\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fna"
++"mespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u0018L\u0000\nwhiteSpace"
++"t\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http:/"
++"/www.w3.org/2001/XMLSchemat\u0000\bdateTimesr\u00005com.sun.msv.datatyp"
++"e.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv"
++".datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.ms"
++"v.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000"
++"\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0018L\u0000\fn"
++"amespaceURIq\u0000~\u0000\u0018xpq\u0000~\u0000\u001cq\u0000~\u0000\u001bsr\u0000#com.sun.msv.grammar.SimpleNa"
++"meClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0018L\u0000\fnamespaceURIq\u0000~\u0000\u0018xr\u0000\u001dc"
++"om.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u000bcreatedDatet\u0000\u0000sr"
++"\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\r\u0001q\u0000~\u0000*sq\u0000~\u0000\bppsq\u0000~\u0000\nq\u0000~\u0000\u000epsq\u0000~\u0000\u000fppsr\u0000\"com.sun.m"
++"sv.datatype.xsd.ShortType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype"
++".xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/m"
++"sv/datatype/xsd/XSDatatypeImpl;xq\u0000~\u0000\u0015q\u0000~\u0000\u001bt\u0000\u0005shortq\u0000~\u0000\u001fsr\u0000*c"
++"om.sun.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com."
++"sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Lj"
++"ava/lang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithVal"
++"ueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.Dat"
++"aTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFla"
++"gL\u0000\bbaseTypeq\u0000~\u00001L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd"
++"/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u0018xq\u0000~\u0000\u0017ppq\u0000~\u0000\u001f\u0000\u0001sr\u0000*com.sun.ms"
++"v.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00005ppq\u0000~\u0000\u001f\u0000\u0000sr"
++"\u0000 com.sun.msv.datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00000q\u0000~\u0000\u001bt\u0000\u0003i"
++"ntq\u0000~\u0000\u001fsq\u0000~\u00004ppq\u0000~\u0000\u001f\u0000\u0001sq\u0000~\u0000;ppq\u0000~\u0000\u001f\u0000\u0000sr\u0000!com.sun.msv.datatyp"
++"e.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00000q\u0000~\u0000\u001bt\u0000\u0004longq\u0000~\u0000\u001fsq\u0000~\u00004ppq\u0000~\u0000"
++"\u001f\u0000\u0001sq\u0000~\u0000;ppq\u0000~\u0000\u001f\u0000\u0000sr\u0000$com.sun.msv.datatype.xsd.IntegerType\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00000q\u0000~\u0000\u001bt\u0000\u0007integerq\u0000~\u0000\u001fsr\u0000,com.sun.msv.datatype."
++"xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com.sun.msv.da"
++"tatype.xsd.DataTypeWithLexicalConstraintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~"
++"\u00008ppq\u0000~\u0000\u001f\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0015q\u0000~\u0000\u001bt\u0000\u0007decimalq\u0000~\u0000\u001fq\u0000~\u0000Nt\u0000\u000efractionDigits\u0000\u0000\u0000\u0000q\u0000~\u0000Ht\u0000"
++"\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.l"
++"ang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000Ht\u0000\fmaxInclusivesq\u0000~\u0000R\u007f\u00ff\u00ff"
++"\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000Cq\u0000~\u0000Qsr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000"
++"S\u0080\u0000\u0000\u0000q\u0000~\u0000Cq\u0000~\u0000Usq\u0000~\u0000W\u007f\u00ff\u00ff\u00ffq\u0000~\u0000>q\u0000~\u0000Qsr\u0000\u000fjava.lang.ShorthM7\u00134`"
++"\u00daR\u0002\u0000\u0001S\u0000\u0005valuexq\u0000~\u0000S\u0080\u0000q\u0000~\u0000>q\u0000~\u0000Usq\u0000~\u0000Z\u007f\u00ffq\u0000~\u0000!sq\u0000~\u0000\"q\u0000~\u00003q\u0000~\u0000\u001b"
++"sq\u0000~\u0000$t\u0000\u0006ratingq\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000\bppsq\u0000~\u0000\nq\u0000~\u0000\u000epsq\u0000~\u0000\u000fppq\u0000~\u0000Cq\u0000"
++"~\u0000!sq\u0000~\u0000\"q\u0000~\u0000Dq\u0000~\u0000\u001bsq\u0000~\u0000$t\u0000\bratingIdq\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000\bppsq\u0000~\u0000\n"
++"q\u0000~\u0000\u000epsq\u0000~\u0000\u000fppq\u0000~\u0000>q\u0000~\u0000!sq\u0000~\u0000\"q\u0000~\u0000?q\u0000~\u0000\u001bsq\u0000~\u0000$t\u0000\u0006userIdq\u0000~\u0000("
++"q\u0000~\u0000*sr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexp"
++"Tablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000"
++"-com.sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005"
++"countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/Expres"
++"sionPool;xp\u0000\u0000\u0000\u0007\u0001pq\u0000~\u0000,q\u0000~\u0000`q\u0000~\u0000\u0007q\u0000~\u0000\u0006q\u0000~\u0000\u0005q\u0000~\u0000\tq\u0000~\u0000fx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RecipeRating))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeRatingImpl target = ((magoffin.matt.ieat.domain.impl.RecipeRatingImpl) obj);
+        {
+            java.lang.Long value = this.getRatingId();
+            java.lang.Long targetValue = target.getRatingId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getUserId();
+            java.lang.Integer targetValue = target.getUserId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            short value = this.getRating();
+            short targetValue = target.getRating();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            java.util.Calendar targetValue = target.getCreatedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.Long value = this.getRatingId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getUserId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            short value = this.getRating();
+            hash = ((31 *hash)+((int) value));
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeRatingImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  6 :
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _CreatedDate = ((java.util.Calendar) com.sun.msv.datatype.xsd.DateTimeType.theInstance.createJavaObject(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value), null));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Rating = javax.xml.bind.DatatypeConverter.parseShort(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Rating = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _RatingId = new java.lang.Long(((long) javax.xml.bind.DatatypeConverter.parseLong(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText4(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _UserId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  6 :
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        if (("rating" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  6 :
+                        if (("ratingId" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  9 :
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            state = 10;
+                            return ;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  8 :
+                        if (("ratingId" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "rating");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  12 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  5 :
+                        if (("rating" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "ratingId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  9 :
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 12;
+                            eatText4(v);
+                            continue outer;
+                        }
+                        state = 12;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "rating");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 6;
+                            continue outer;
+                        case  12 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                        case  7 :
+                            state = 8;
+                            eatText3(value);
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "ratingId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  10 :
+                            state = 11;
+                            eatText4(value);
+                            return ;
+                        case  9 :
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 12;
+                                eatText4(v);
+                                continue outer;
+                            }
+                            state = 12;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 798 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeSearchCriteriaImpl.java

@@ -0,0 +1,798 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeSearchCriteriaImpl implements magoffin.matt.ieat.domain.RecipeSearchCriteria, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected com.sun.xml.bind.util.ListImpl _Advanced;
+    protected java.lang.String _SimpleQuery;
+    protected com.sun.xml.bind.util.ListImpl _Ingredient;
+    protected java.lang.String _Mode;
+    protected java.lang.String _Name;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RecipeSearchCriteria.class);
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getAdvanced() {
+        if (_Advanced == null) {
+            _Advanced = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Advanced;
+    }
+
+    public java.util.List getAdvanced() {
+        return _getAdvanced();
+    }
+
+    public java.lang.String getSimpleQuery() {
+        return _SimpleQuery;
+    }
+
+    public void setSimpleQuery(java.lang.String value) {
+        _SimpleQuery = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getIngredient() {
+        if (_Ingredient == null) {
+            _Ingredient = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Ingredient;
+    }
+
+    public java.util.List getIngredient() {
+        return _getIngredient();
+    }
+
+    public java.lang.String getMode() {
+        return _Mode;
+    }
+
+    public void setMode(java.lang.String value) {
+        _Mode = value;
+    }
+
+    public java.lang.String getName() {
+        return _Name;
+    }
+
+    public void setName(java.lang.String value) {
+        _Name = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Advanced == null)? 0 :_Advanced.size());
+        int idx3 = 0;
+        final int len3 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        if (_Name!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "name");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _Name), "Name");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        if (_SimpleQuery!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "simpleQuery");
+            context.endNamespaceDecls();
+            context.endAttributes();
+            try {
+                context.text(((java.lang.String) _SimpleQuery), "SimpleQuery");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+        while (idx3 != len3) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            int idx_4 = idx3;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_4 ++)), "Ingredient");
+            context.endNamespaceDecls();
+            int idx_5 = idx3;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_5 ++)), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx3 ++)), "Ingredient");
+            context.endElement();
+        }
+        while (idx1 != len1) {
+            context.startElement("http://msqr.us/xsd/ieat", "advanced");
+            int idx_6 = idx1;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Advanced.get(idx_6 ++)), "Advanced");
+            context.endNamespaceDecls();
+            int idx_7 = idx1;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Advanced.get(idx_7 ++)), "Advanced");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Advanced.get(idx1 ++)), "Advanced");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Advanced == null)? 0 :_Advanced.size());
+        int idx3 = 0;
+        final int len3 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        if (_Mode!= null) {
+            context.startAttribute("", "mode");
+            try {
+                context.text(((java.lang.String) _Mode), "Mode");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        while (idx3 != len3) {
+            idx3 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Advanced == null)? 0 :_Advanced.size());
+        int idx3 = 0;
+        final int len3 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        while (idx3 != len3) {
+            idx3 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RecipeSearchCriteria.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv."
++"grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.grammar."
++"trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/gr"
++"ammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011"
++"java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun"
++".msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype"
++"/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPa"
++"ir;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicT"
++"ype\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003"
++"L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u001aL\u0000\nwhite"
++"Spacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 h"
++"ttp://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.sun.msv.data"
++"type.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun."
++"msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.su"
++"n.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003p"
++"psr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001a"
++"L\u0000\fnamespaceURIq\u0000~\u0000\u001axpq\u0000~\u0000\u001eq\u0000~\u0000\u001dsq\u0000~\u0000\tppsr\u0000 com.sun.msv.gram"
++"mar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\fxq\u0000~\u0000"
++"\u0003q\u0000~\u0000\u0010psq\u0000~\u0000\u0012ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0017q\u0000~\u0000\u001dt\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpa"
++"ceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000 q\u0000~\u0000#sq\u0000~\u0000$q\u0000~\u0000,q\u0000~\u0000\u001dsr"
++"\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalName"
++"q\u0000~\u0000\u001aL\u0000\fnamespaceURIq\u0000~\u0000\u001axr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instan"
++"cesr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u000f\u0001q\u0000~\u00006sq\u0000~\u00000t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ie"
++"atq\u0000~\u00006sq\u0000~\u0000\tppsq\u0000~\u0000\u000bq\u0000~\u0000\u0010p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000\u0015sq\u0000~\u0000\tppsq\u0000~\u0000\'q\u0000~\u0000\u0010"
++"pq\u0000~\u0000)q\u0000~\u00002q\u0000~\u00006sq\u0000~\u00000t\u0000\u000bsimpleQueryq\u0000~\u0000:q\u0000~\u00006sq\u0000~\u0000\tppsr\u0000 co"
++"m.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.gra"
++"mmar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\u0010psq\u0000~\u0000\u000bq\u0000~\u0000\u0010p\u0000"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000bpp\u0000sq\u0000~\u0000\tppsq\u0000~\u0000Cq\u0000~\u0000\u0010psq\u0000~\u0000\'q\u0000~\u0000\u0010psr\u00002com.sun"
++".msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003"
++"q\u0000~\u00007q\u0000~\u0000Msr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000"
++"~\u00001q\u0000~\u00006sq\u0000~\u00000t\u0000*magoffin.matt.ieat.domain.RecipeIngredientt"
++"\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\tppsq\u0000~\u0000\'q"
++"\u0000~\u0000\u0010pq\u0000~\u0000)q\u0000~\u00002q\u0000~\u00006sq\u0000~\u00000t\u0000\ningredientq\u0000~\u0000:q\u0000~\u00006sq\u0000~\u0000\tppsq\u0000"
++"~\u0000Cq\u0000~\u0000\u0010psq\u0000~\u0000\u000bq\u0000~\u0000\u0010p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000bpp\u0000sq\u0000~\u0000\tppsq\u0000~\u0000Cq\u0000~\u0000\u0010ps"
++"q\u0000~\u0000\'q\u0000~\u0000\u0010pq\u0000~\u0000Mq\u0000~\u0000Oq\u0000~\u00006sq\u0000~\u00000t\u00000magoffin.matt.ieat.domain"
++".AdvancedSearchCriteriaq\u0000~\u0000Rsq\u0000~\u0000\tppsq\u0000~\u0000\'q\u0000~\u0000\u0010pq\u0000~\u0000)q\u0000~\u00002q\u0000"
++"~\u00006sq\u0000~\u00000t\u0000\badvancedq\u0000~\u0000:q\u0000~\u00006sq\u0000~\u0000\tppsq\u0000~\u0000\'q\u0000~\u0000\u0010pq\u0000~\u0000\u0015sq\u0000~\u0000"
++"0t\u0000\u0004modet\u0000\u0000q\u0000~\u00006sr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$Close"
++"dHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0"
++"N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/gra"
++"mmar/ExpressionPool;xp\u0000\u0000\u0000\u0017\u0001pq\u0000~\u0000\u0006q\u0000~\u0000\u0011q\u0000~\u0000=q\u0000~\u0000\bq\u0000~\u0000Gq\u0000~\u0000Zq\u0000"
++"~\u0000Bq\u0000~\u0000Wq\u0000~\u0000Iq\u0000~\u0000\\q\u0000~\u0000\u0005q\u0000~\u0000Eq\u0000~\u0000Xq\u0000~\u0000Jq\u0000~\u0000]q\u0000~\u0000eq\u0000~\u0000\nq\u0000~\u0000;q\u0000"
++"~\u0000\u0007q\u0000~\u0000&q\u0000~\u0000>q\u0000~\u0000Sq\u0000~\u0000ax"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RecipeSearchCriteria))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl target = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) obj);
+        {
+            java.util.List value = this.getAdvanced();
+            java.util.List targetValue = target.getAdvanced();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getSimpleQuery();
+            java.lang.String targetValue = target.getSimpleQuery();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getAdvanced();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getSimpleQuery();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname, __atts)));
+                        return ;
+                    case  15 :
+                        if (("advanced" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 13;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  9 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 10;
+                            return ;
+                        }
+                        state = 12;
+                        continue outer;
+                    case  6 :
+                        if (("simpleQuery" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 10;
+                            return ;
+                        }
+                        if (("advanced" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 13;
+                            return ;
+                        }
+                        state = 15;
+                        continue outer;
+                    case  13 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Mode = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                        return ;
+                    case  15 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  5 :
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        if (("simpleQuery" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        if (("advanced" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 15;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  11 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 12;
+                            return ;
+                        }
+                        break;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  13 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  10 :
+                        if (("optional" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("qualifier" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                        return ;
+                    case  15 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  13 :
+                        if (("choice" == ___local)&&("" == ___uri)) {
+                            _getAdvanced().add(((magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl.class), 14, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("op" == ___local)&&("" == ___uri)) {
+                            _getAdvanced().add(((magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.AdvancedSearchCriteriaImpl.class), 14, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  10 :
+                        attIdx = context.getAttribute("", "optional");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "qualifier");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, ___uri, ___local, ___qname)));
+                        return ;
+                    case  15 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        state = 12;
+                        continue outer;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  12 :
+                        state = 15;
+                        continue outer;
+                    case  13 :
+                        attIdx = context.getAttribute("", "choice");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "op");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  3 :
+                            state = 6;
+                            continue outer;
+                        case  10 :
+                            attIdx = context.getAttribute("", "optional");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "qualifier");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeIngredientImpl.class), 11, value)));
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  15 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  9 :
+                            state = 12;
+                            continue outer;
+                        case  6 :
+                            state = 9;
+                            continue outer;
+                        case  0 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                        case  7 :
+                            state = 8;
+                            eatText3(value);
+                            return ;
+                        case  12 :
+                            state = 15;
+                            continue outer;
+                        case  13 :
+                            attIdx = context.getAttribute("", "choice");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "op");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Name = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _SimpleQuery = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 242 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RecipeStepImpl.java

@@ -0,0 +1,242 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RecipeStepImpl implements magoffin.matt.ieat.domain.RecipeStep, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+    protected boolean has_Hjid;
+    protected java.lang.Long _Hjid;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RecipeStep.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RecipeStepImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RecipeStep.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/r"
++"elaxng/datatype/Datatype;L\u0000\u0006exceptt\u0000 Lcom/sun/msv/grammar/Ex"
++"pression;L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xr\u0000\u001ecom.sun."
++"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
++"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0002xpppsr\u0000#com.sun.msv.data"
++"type.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.ms"
++"v.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.d"
++"atatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype."
++"xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/St"
++"ring;L\u0000\btypeNameq\u0000~\u0000\u000bL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/x"
++"sd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchema"
++"t\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Pr"
++"eserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProc"
++"essor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$NullSe"
++"tExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.util.StringPai"
++"r\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000bL\u0000\fnamespaceURIq\u0000~\u0000\u000bxpq\u0000~\u0000\u000fq\u0000~\u0000"
++"\u000esr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTabl"
++"et\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com"
++".sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005coun"
++"tB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/Expression"
++"Pool;xp\u0000\u0000\u0000\u0000\u0001px"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RecipeStep))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RecipeStepImpl target = ((magoffin.matt.ieat.domain.impl.RecipeStepImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public java.lang.Long getHjid() {
+        return _Hjid;
+    }
+
+    public void setHjid(java.lang.Long value) {
+        _Hjid = value;
+        has_Hjid = true;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "--");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RecipeStepImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            state = 1;
+                            eatText1(value);
+                            return ;
+                        case  1 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 473 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RelatedRecipeImpl.java

@@ -0,0 +1,473 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RelatedRecipeImpl implements magoffin.matt.ieat.domain.RelatedRecipe, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected magoffin.matt.ieat.domain.Recipe _Recipe;
+    protected magoffin.matt.ieat.domain.RelationKind _Kind;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+    protected boolean has_Hjid;
+    protected java.lang.Long _Hjid;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RelatedRecipe.class);
+    }
+
+    public magoffin.matt.ieat.domain.Recipe getRecipe() {
+        return _Recipe;
+    }
+
+    public void setRecipe(magoffin.matt.ieat.domain.Recipe value) {
+        _Recipe = value;
+    }
+
+    public magoffin.matt.ieat.domain.RelationKind getKind() {
+        return _Kind;
+    }
+
+    public void setKind(magoffin.matt.ieat.domain.RelationKind value) {
+        _Kind = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RelatedRecipeImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "kind");
+        context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Kind), "Kind");
+        context.endNamespaceDecls();
+        context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Kind), "Kind");
+        context.endAttributes();
+        context.childAsBody(((com.sun.xml.bind.JAXBObject) _Kind), "Kind");
+        context.endElement();
+        context.startElement("http://msqr.us/xsd/ieat", "recipe");
+        context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endNamespaceDecls();
+        context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endAttributes();
+        context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RelatedRecipe.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\'com.sun.msv.grammar.trex.ElementPatt"
++"ern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;"
++"xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndecl"
++"aredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0006pp\u0000"
++"sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com."
++"sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.gramm"
++"ar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean"
++"\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000 com.sun.msv.grammar.AttributeExp\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\u0007xq\u0000~\u0000\u0003q\u0000~\u0000\u0012psr\u00002com.su"
++"n.msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000"
++"\u0003sq\u0000~\u0000\u0011\u0001q\u0000~\u0000\u0016sr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.ms"
++"v.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u0017"
++"q\u0000~\u0000\u001csr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlo"
++"calNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000\u001exq\u0000~\u0000\u0019t\u0000&mag"
++"offin.matt.ieat.domain.RelationKindt\u0000+http://java.sun.com/ja"
++"xb/xjc/dummy-elementssq\u0000~\u0000\fppsq\u0000~\u0000\u0013q\u0000~\u0000\u0012psr\u0000\u001bcom.sun.msv.gra"
++"mmar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatyp"
++"e;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000"
++"\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com."
++"sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun"
++".msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.dat"
++"atype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000\u001eL\u0000\bty"
++"peNameq\u0000~\u0000\u001eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSp"
++"aceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr"
++"\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002"
++"L\u0000\tlocalNameq\u0000~\u0000\u001eL\u0000\fnamespaceURIq\u0000~\u0000\u001expq\u0000~\u0000/q\u0000~\u0000.sq\u0000~\u0000\u001dt\u0000\u0004ty"
++"pet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~\u0000\u001csq\u0000~\u0000\u001dt\u0000\u0004"
++"kindt\u0000\u0017http://msqr.us/xsd/ieatsq\u0000~\u0000\u0006pp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0006pp\u0000sq\u0000~"
++"\u0000\fppsq\u0000~\u0000\u000eq\u0000~\u0000\u0012psq\u0000~\u0000\u0013q\u0000~\u0000\u0012pq\u0000~\u0000\u0016q\u0000~\u0000\u001aq\u0000~\u0000\u001csq\u0000~\u0000\u001dt\u0000 magoffin"
++".matt.ieat.domain.Recipeq\u0000~\u0000!sq\u0000~\u0000\fppsq\u0000~\u0000\u0013q\u0000~\u0000\u0012pq\u0000~\u0000\'q\u0000~\u00007q"
++"\u0000~\u0000\u001csq\u0000~\u0000\u001dt\u0000\u0006recipeq\u0000~\u0000<sr\u0000\"com.sun.msv.grammar.ExpressionPo"
++"ol\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPo"
++"ol$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$Close"
++"dHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun"
++"/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\t\u0001pq\u0000~\u0000\u0005q\u0000~\u0000\nq\u0000~\u0000>q\u0000~\u0000\rq\u0000~\u0000"
++"@q\u0000~\u0000\u0010q\u0000~\u0000Aq\u0000~\u0000\"q\u0000~\u0000Ex"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RelatedRecipe))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RelatedRecipeImpl target = ((magoffin.matt.ieat.domain.impl.RelatedRecipeImpl) obj);
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            magoffin.matt.ieat.domain.Recipe targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.RelationKind value = this.getKind();
+            magoffin.matt.ieat.domain.RelationKind targetValue = target.getKind();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.RelationKind value = this.getKind();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public java.lang.Long getHjid() {
+        return _Hjid;
+    }
+
+    public void setHjid(java.lang.Long value) {
+        _Hjid = value;
+        has_Hjid = true;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RelatedRecipeImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("kind" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  1 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("kind" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  5 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  1 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  1 :
+                        if (("relationKindId" == ___local)&&("" == ___uri)) {
+                            _Kind = ((magoffin.matt.ieat.domain.impl.RelationKindImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RelationKindImpl.class), 2, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  1 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  1 :
+                            attIdx = context.getAttribute("", "relationKindId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _Kind = ((magoffin.matt.ieat.domain.impl.RelationKindImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RelationKindImpl.class), 2, value));
+                            return ;
+                        case  6 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/RelationKindImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class RelationKindImpl implements magoffin.matt.ieat.domain.RelationKind, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.Integer _RelationKindId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.RelationKind.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Integer getRelationKindId() {
+        return _RelationKindId;
+    }
+
+    public void setRelationKindId(java.lang.Integer value) {
+        _RelationKindId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.RelationKindImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_RelationKindId!= null) {
+            context.startAttribute("", "relationKindId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _RelationKindId).intValue())), "RelationKindId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.RelationKind.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u000erelationKindIdt\u0000\u0000sr\u00000com.sun.msv.grammar.E"
++"xpression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\""
++"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/L"
++"com/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun."
++"msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rs"
++"treamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;"
++"xp\u0000\u0000\u0000\u0002\u0001pq\u0000~\u0000\u001bq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.RelationKind))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.RelationKindImpl target = ((magoffin.matt.ieat.domain.impl.RelationKindImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getRelationKindId();
+            java.lang.Integer targetValue = target.getRelationKindId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getRelationKindId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.RelationKindImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _RelationKindId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("relationKindId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "relationKindId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("relationKindId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "relationKindId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 471 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SearchResultsImpl.java

@@ -0,0 +1,471 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class SearchResultsImpl
+    extends magoffin.matt.ieat.domain.impl.UiSearchResultsImpl
+    implements magoffin.matt.ieat.domain.SearchResults, java.io.Serializable, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.SearchResults.class);
+    }
+
+    public java.lang.String ____jaxb_ri____getNamespaceURI() {
+        return "http://msqr.us/xsd/ieat";
+    }
+
+    public java.lang.String ____jaxb_ri____getLocalName() {
+        return "search-results";
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.SearchResultsImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "search-results");
+        super.serializeURIs(context);
+        context.endNamespaceDecls();
+        super.serializeAttributes(context);
+        context.endAttributes();
+        super.serializeBody(context);
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.SearchResults.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
++"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
++"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
++"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
++"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
++"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
++"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007pps"
++"q\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsr\u0000\u001dc"
++"om.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\bppsq\u0000~\u0000\u0000sr\u0000\u0011jav"
++"a.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000"
++"\u0013ppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.su"
++"n.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0003xq\u0000~\u0000\u0004q\u0000~\u0000\u0017psr\u0000 "
++"com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnam"
++"eClassq\u0000~\u0000\u0001xq\u0000~\u0000\u0004q\u0000~\u0000\u0017psr\u00002com.sun.msv.grammar.Expression$An"
++"yStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq\u0000~\u0000\u0016\u0001q\u0000~\u0000!sr\u0000 com.sun.ms"
++"v.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.Nam"
++"eClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$Epsilo"
++"nExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004q\u0000~\u0000\"q\u0000~\u0000\'sr\u0000#com.sun.msv.gramma"
++"r.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String"
++";L\u0000\fnamespaceURIq\u0000~\u0000)xq\u0000~\u0000$t\u0000!magoffin.matt.ieat.domain.UiIn"
++"dext\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u0013ppsq\u0000"
++"~\u0000\u001eq\u0000~\u0000\u0017psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fL"
++"org/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/s"
++"un/msv/util/StringPair;xq\u0000~\u0000\u0004ppsr\u0000\"com.sun.msv.datatype.xsd."
++"QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtom"
++"icType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000)L\u0000\btypeNameq\u0000~\u0000)L\u0000\nwhiteSpacet\u0000.Lcom/"
++"sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3."
++"org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.White"
++"SpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.x"
++"sd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.E"
++"xpression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.ms"
++"v.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000)L\u0000\fnamespaceURI"
++"q\u0000~\u0000)xpq\u0000~\u0000:q\u0000~\u00009sq\u0000~\u0000(t\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLS"
++"chema-instanceq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\bui-indext\u0000\u0017http://msqr.us/xsd/ie"
++"atq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0017p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq"
++"\u0000~\u0000\u0017psq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u0000!q\u0000~\u0000%q\u0000~\u0000\'sq\u0000~\u0000(t\u0000-magoffin.matt.ieat."
++"domain.UiPaginationSupportq\u0000~\u0000,sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u00002q\u0000~\u0000"
++"Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\npaginationq\u0000~\u0000Gq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u0000q\u0000~\u0000\u0017p\u0000sq\u0000~"
++"\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u0000!q\u0000~\u0000%q\u0000~\u0000\'"
++"sq\u0000~\u0000(t\u0000.magoffin.matt.ieat.domain.RecipeSearchCriteriaq\u0000~\u0000,"
++"sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u00002q\u0000~\u0000Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\u000frecipe-criteriaq"
++"\u0000~\u0000Gq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u0000q\u0000~\u0000\u0017p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000s"
++"q\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u0000!q\u0000~\u0000%q\u0000~\u0000\'sq\u0000~\u0000(t\u0000\'magof"
++"fin.matt.ieat.domain.UiRecipeMatchq\u0000~\u0000,sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq"
++"\u0000~\u00002q\u0000~\u0000Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\u0006recipeq\u0000~\u0000Gq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017ps"
++"q\u0000~\u0000\u0000q\u0000~\u0000\u0017p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u001eq\u0000~\u0000\u0017"
++"pq\u0000~\u0000!q\u0000~\u0000%q\u0000~\u0000\'sq\u0000~\u0000(t\u0000+magoffin.matt.ieat.domain.UiIngredi"
++"entMatchq\u0000~\u0000,sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u00002q\u0000~\u0000Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\ning"
++"redientq\u0000~\u0000Gq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u0000q\u0000~\u0000\u0017p\u0000sq\u0000~\u0000\u0007ppsq"
++"\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001bq\u0000~\u0000\u0017psq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u0000!q\u0000~\u0000%q\u0000~\u0000\'sq\u0000~\u0000("
++"t\u0000%magoffin.matt.ieat.domain.UiUserMatchq\u0000~\u0000,sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq"
++"\u0000~\u0000\u0017pq\u0000~\u00002q\u0000~\u0000Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\u0004userq\u0000~\u0000Gq\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~"
++"\u0000\u0017psq\u0000~\u0000/ppsr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0001Z\u0000\risAlwaysValidxq\u0000~\u00004q\u0000~\u00009t\u0000\u0006stringsr\u00005com.sun.msv.datatyp"
++"e.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000<\u0001q\u0000~\u0000?sq\u0000"
++"~\u0000@q\u0000~\u0000\u0091q\u0000~\u00009sq\u0000~\u0000(t\u0000\u0004modet\u0000\u0000q\u0000~\u0000\'sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017psq\u0000~\u0000/"
++"ppsr\u0000 com.sun.msv.datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun"
++".msv.datatype.xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacets"
++"t\u0000)Lcom/sun/msv/datatype/xsd/XSDatatypeImpl;xq\u0000~\u00004q\u0000~\u00009t\u0000\u0003in"
++"tq\u0000~\u0000=sr\u0000*com.sun.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimi"
++"tValuet\u0000\u0012Ljava/lang/Object;xr\u00009com.sun.msv.datatype.xsd.Data"
++"TypeWithValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datat"
++"ype.xsd.DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needVa"
++"lueCheckFlagL\u0000\bbaseTypeq\u0000~\u0000\u009dL\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/d"
++"atatype/xsd/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000)xq\u0000~\u00006ppq\u0000~\u0000=\u0000\u0001sr\u0000"
++"*com.sun.msv.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u00a1"
++"ppq\u0000~\u0000=\u0000\u0000sr\u0000!com.sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000"
++"~\u0000\u009cq\u0000~\u00009t\u0000\u0004longq\u0000~\u0000=sq\u0000~\u0000\u00a0ppq\u0000~\u0000=\u0000\u0001sq\u0000~\u0000\u00a7ppq\u0000~\u0000=\u0000\u0000sr\u0000$com.su"
++"n.msv.datatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u009cq\u0000~\u00009t\u0000\u0007integ"
++"erq\u0000~\u0000=sr\u0000,com.sun.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexic"
++"alConstraintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000\u00a4ppq\u0000~\u0000=\u0001\u0000sr\u0000#com.sun.msv.d"
++"atatype.xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00004q\u0000~\u00009t\u0000\u0007decimalq\u0000~\u0000=q"
++"\u0000~\u0000\u00b5t\u0000\u000efractionDigits\u0000\u0000\u0000\u0000q\u0000~\u0000\u00aft\u0000\fminInclusivesr\u0000\u000ejava.lang.L"
++"ong;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000q\u0000~\u0000\u00aft\u0000\fmaxInclusivesq\u0000~\u0000\u00b9\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000\u00aaq\u0000~\u0000\u00b8sr\u0000\u0011java.lang"
++".Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000\u00ba\u0080\u0000\u0000\u0000q\u0000~\u0000\u00aaq\u0000~\u0000\u00bcsq\u0000~\u0000\u00be\u007f\u00ff\u00ff\u00ffq\u0000~"
++"\u0000?sq\u0000~\u0000@q\u0000~\u0000\u009fq\u0000~\u00009sq\u0000~\u0000(t\u0000\bpageSizeq\u0000~\u0000\u0097q\u0000~\u0000\'sq\u0000~\u0000\u001eppq\u0000~\u0000\u009asq"
++"\u0000~\u0000(t\u0000\tpageStartq\u0000~\u0000\u0097sq\u0000~\u0000\u001eppq\u0000~\u0000\u009asq\u0000~\u0000(t\u0000\ftotalResultsq\u0000~\u0000\u0097"
++"sq\u0000~\u0000\u0013ppsq\u0000~\u0000\u001eq\u0000~\u0000\u0017pq\u0000~\u00002q\u0000~\u0000Bq\u0000~\u0000\'sq\u0000~\u0000(t\u0000\u000esearch-resultsq\u0000"
++"~\u0000Gsr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTa"
++"blet\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-c"
++"om.sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005co"
++"untB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/Expressi"
++"onPool;xp\u0000\u0000\u0000.\u0001pq\u0000~\u0000\u0088q\u0000~\u0000\u00caq\u0000~\u0000\u0014q\u0000~\u0000Hq\u0000~\u0000Uq\u0000~\u0000\u008cq\u0000~\u0000\tq\u0000~\u0000\u0018q\u0000~\u0000J"
++"q\u0000~\u0000Wq\u0000~\u0000eq\u0000~\u0000sq\u0000~\u0000\u0081q\u0000~\u0000\u0098q\u0000~\u0000bq\u0000~\u0000pq\u0000~\u0000~q\u0000~\u0000\u000fq\u0000~\u0000\u001aq\u0000~\u0000Lq\u0000~\u0000Y"
++"q\u0000~\u0000gq\u0000~\u0000uq\u0000~\u0000\u0083q\u0000~\u0000\nq\u0000~\u0000\u0011q\u0000~\u0000\fq\u0000~\u0000cq\u0000~\u0000qq\u0000~\u0000\u007fq\u0000~\u0000\u001dq\u0000~\u0000Mq\u0000~\u0000Z"
++"q\u0000~\u0000hq\u0000~\u0000vq\u0000~\u0000\u0084q\u0000~\u0000\u0010q\u0000~\u0000\u000eq\u0000~\u0000\u0012q\u0000~\u0000\u000bq\u0000~\u0000\rq\u0000~\u0000-q\u0000~\u0000Qq\u0000~\u0000^q\u0000~\u0000l"
++"q\u0000~\u0000zx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.SearchResults))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.SearchResultsImpl target = ((magoffin.matt.ieat.domain.impl.SearchResultsImpl) obj);
+        {
+            magoffin.matt.ieat.domain.UiPaginationSupport value = this.getPagination();
+            magoffin.matt.ieat.domain.UiPaginationSupport targetValue = target.getPagination();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getUser();
+            java.util.List targetValue = target.getUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getPageSize();
+            java.lang.Integer targetValue = target.getPageSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getPageStart();
+            java.lang.Integer targetValue = target.getPageStart();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRecipe();
+            java.util.List targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiIndex value = this.getUiIndex();
+            magoffin.matt.ieat.domain.UiIndex targetValue = target.getUiIndex();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getTotalResults();
+            java.lang.Integer targetValue = target.getTotalResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.RecipeSearchCriteria value = this.getRecipeCriteria();
+            magoffin.matt.ieat.domain.RecipeSearchCriteria targetValue = target.getRecipeCriteria();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.UiPaginationSupport value = this.getPagination();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getPageSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getPageStart();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiIndex value = this.getUiIndex();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getTotalResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.RecipeSearchCriteria value = this.getRecipeCriteria();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.SearchResultsImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                    case  1 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        if (("pageSize" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl)magoffin.matt.ieat.domain.impl.SearchResultsImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("pageStart" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl)magoffin.matt.ieat.domain.impl.SearchResultsImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            attIdx = context.getAttribute("", "pageSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "pageStart");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 316 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SessionDataImpl.java

@@ -0,0 +1,316 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class SessionDataImpl
+    extends magoffin.matt.ieat.domain.impl.UiSessionDataImpl
+    implements magoffin.matt.ieat.domain.SessionData, java.io.Serializable, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.SessionData.class);
+    }
+
+    public java.lang.String ____jaxb_ri____getNamespaceURI() {
+        return "http://msqr.us/xsd/ieat";
+    }
+
+    public java.lang.String ____jaxb_ri____getLocalName() {
+        return "session-data";
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.SessionDataImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "session-data");
+        super.serializeURIs(context);
+        context.endNamespaceDecls();
+        super.serializeAttributes(context);
+        context.endAttributes();
+        super.serializeBody(context);
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.SessionData.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
++"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
++"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
++"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
++"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
++"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
++"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsq\u0000~\u0000\u0007ppsr\u0000\u001dcom.s"
++"un.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\bppsq\u0000~\u0000\u0000sr\u0000\u0011java.la"
++"ng.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u000bpps"
++"r\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.ms"
++"v.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0003xq\u0000~\u0000\u0004q\u0000~\u0000\u000fpsr\u0000 com."
++"sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnameCla"
++"ssq\u0000~\u0000\u0001xq\u0000~\u0000\u0004q\u0000~\u0000\u000fpsr\u00002com.sun.msv.grammar.Expression$AnyStr"
++"ingExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq\u0000~\u0000\u000e\u0001q\u0000~\u0000\u0019sr\u0000 com.sun.msv.gr"
++"ammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$EpsilonExp"
++"ression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004q\u0000~\u0000\u001aq\u0000~\u0000\u001fsr\u0000#com.sun.msv.grammar.Si"
++"mpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\f"
++"namespaceURIq\u0000~\u0000!xq\u0000~\u0000\u001ct\u0000\u001emagoffin.matt.ieat.domain.Usert\u0000+h"
++"ttp://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u000bppsq\u0000~\u0000\u0016q\u0000~\u0000"
++"\u000fpsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/rel"
++"axng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/msv/"
++"util/StringPair;xq\u0000~\u0000\u0004ppsr\u0000\"com.sun.msv.datatype.xsd.QnameTy"
++"pe\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fn"
++"amespaceUriq\u0000~\u0000!L\u0000\btypeNameq\u0000~\u0000!L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv"
++"/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/200"
++"1/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.Whit"
++"eSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expressi"
++"on$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.util."
++"StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000!L\u0000\fnamespaceURIq\u0000~\u0000!xp"
++"q\u0000~\u00002q\u0000~\u00001sq\u0000~\u0000 t\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-i"
++"nstanceq\u0000~\u0000\u001fsq\u0000~\u0000 t\u0000\u000bacting-usert\u0000\u0017http://msqr.us/xsd/ieatq\u0000"
++"~\u0000\u001fsq\u0000~\u0000\u000bppsq\u0000~\u0000\u0016q\u0000~\u0000\u000fpsq\u0000~\u0000\'ppsr\u0000$com.sun.msv.datatype.xsd."
++"BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000,q\u0000~\u00001t\u0000\u0007booleanq\u0000~\u00005q\u0000~\u00007sq\u0000~\u00008q"
++"\u0000~\u0000Eq\u0000~\u00001sq\u0000~\u0000 t\u0000\u0005admint\u0000\u0000q\u0000~\u0000\u001fsq\u0000~\u0000\u000bppsq\u0000~\u0000\u0016q\u0000~\u0000\u000fpq\u0000~\u0000*q\u0000~\u0000"
++":q\u0000~\u0000\u001fsq\u0000~\u0000 t\u0000\fsession-dataq\u0000~\u0000?sr\u0000\"com.sun.msv.grammar.Expr"
++"essionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expr"
++"essionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPo"
++"ol$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$"
++"Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\t\u0001pq\u0000~\u0000\fq\u0000~\u0000\tq\u0000~\u0000\u0010q"
++"\u0000~\u0000\u0012q\u0000~\u0000@q\u0000~\u0000\u0015q\u0000~\u0000\nq\u0000~\u0000%q\u0000~\u0000Jx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.SessionData))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.SessionDataImpl target = ((magoffin.matt.ieat.domain.impl.SessionDataImpl) obj);
+        {
+            magoffin.matt.ieat.domain.User value = this.getActingUser();
+            magoffin.matt.ieat.domain.User targetValue = target.getActingUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isAdmin();
+            boolean targetValue = target.isAdmin();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.User value = this.getActingUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isAdmin();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.SessionDataImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("acting-user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  3 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        if (("session-data" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("session-data" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        if (("admin" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            attIdx = context.getAttribute("", "admin");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiSessionDataImpl)magoffin.matt.ieat.domain.impl.SessionDataImpl.this).new Unmarshaller(context)), 2, value);
+                            return ;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 360 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/SystemImpl.java

@@ -0,0 +1,360 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class SystemImpl implements magoffin.matt.ieat.domain.System, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.Integer _SystemId;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.System.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.Integer getSystemId() {
+        return _SystemId;
+    }
+
+    public void setSystemId(java.lang.Integer value) {
+        _SystemId = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.SystemImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_SystemId!= null) {
+            context.startAttribute("", "systemId");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _SystemId).intValue())), "SystemId");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.System.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 c"
++"om.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tname"
++"Classt\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.B"
++"oolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.datatyp"
++"e.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Integer"
++"DerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/"
++"xsd/XSDatatypeImpl;xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0003intsr\u00005com.sun.msv.datatype"
++".xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0014sr\u0000*com.su"
++"n.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.m"
++"sv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/l"
++"ang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCon"
++"straintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataType"
++"WithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bb"
++"aseTypeq\u0000~\u0000$L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Conc"
++"reteType;L\u0000\tfacetNameq\u0000~\u0000\u000exq\u0000~\u0000\rppq\u0000~\u0000(\u0000\u0001sr\u0000*com.sun.msv.dat"
++"atype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*ppq\u0000~\u0000(\u0000\u0000sr\u0000!com"
++".sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0004longq"
++"\u0000~\u0000(sq\u0000~\u0000)ppq\u0000~\u0000(\u0000\u0001sq\u0000~\u00000ppq\u0000~\u0000(\u0000\u0000sr\u0000$com.sun.msv.datatype.x"
++"sd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000\u0011t\u0000\u0007integerq\u0000~\u0000(sr\u0000,com.s"
++"un.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr"
++"\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFace"
++"tT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000-ppq\u0000~\u0000(\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numb"
++"erType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u000bq\u0000~\u0000\u0011t\u0000\u0007decimalq\u0000~\u0000(q\u0000~\u0000>t\u0000\u000efractionD"
++"igits\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000"
++"\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u00008t\u0000\fmaxIn"
++"clusivesq\u0000~\u0000B\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u00003q\u0000~\u0000Asr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878"
++"\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000C\u0080\u0000\u0000\u0000q\u0000~\u00003q\u0000~\u0000Esq\u0000~\u0000G\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u0017sq\u0000~\u0000\u0018q\u0000~\u0000&q\u0000~"
++"\u0000\u0011sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Nameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameCla"
++"ss\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\bsystemIdt\u0000\u0000sr\u00000com.sun.msv.grammar.Express"
++"ion$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u001f\u0001q\u0000~\u0000Qsr\u0000\"com.su"
++"n.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/su"
++"n/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gr"
++"ammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamV"
++"ersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0002"
++"\u0001pq\u0000~\u0000\u001bq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.System))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.SystemImpl target = ((magoffin.matt.ieat.domain.impl.SystemImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getSystemId();
+            java.lang.Integer targetValue = target.getSystemId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getSystemId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.SystemImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _SystemId = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "systemId");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 296 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiBaseImpl.java

@@ -0,0 +1,296 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiBaseImpl implements magoffin.matt.ieat.domain.UiBase, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Mode;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiBase.class);
+    }
+
+    public java.lang.String getMode() {
+        return _Mode;
+    }
+
+    public void setMode(java.lang.String value) {
+        _Mode = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiBaseImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_Mode!= null) {
+            context.startAttribute("", "mode");
+            try {
+                context.text(((java.lang.String) _Mode), "Mode");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiBase.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun."
++"msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gramm"
++"ar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expression"
++"\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000bex"
++"pandedExpq\u0000~\u0000\u0002xpppsr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClas"
++"s;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000\u001bcom."
++"sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datat"
++"ype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/Strin"
++"gPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.xsd.BuiltinAtom"
++"icType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~\u0000\u0013L\u0000\nwh"
++"iteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt"
++"\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.sun.msv.d"
++"atatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.s"
++"un.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com"
++".sun.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~"
++"\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000"
++"~\u0000\u0013L\u0000\fnamespaceURIq\u0000~\u0000\u0013xpq\u0000~\u0000\u0017q\u0000~\u0000\u0016sr\u0000#com.sun.msv.grammar.S"
++"impleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0013L\u0000\fnamespaceURIq\u0000~"
++"\u0000\u0013xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004modet\u0000\u0000sr"
++"\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\t\u0001q\u0000~\u0000%sr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$Cl"
++"osedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHash"
++"\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/"
++"grammar/ExpressionPool;xp\u0000\u0000\u0000\u0001\u0001pq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiBase))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiBaseImpl target = ((magoffin.matt.ieat.domain.impl.UiBaseImpl) obj);
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiBaseImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Mode = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  2 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 1948 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiDataImpl.java

@@ -0,0 +1,1948 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiDataImpl
+    extends magoffin.matt.ieat.domain.impl.UiBaseImpl
+    implements magoffin.matt.ieat.domain.UiData, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected com.sun.xml.bind.util.ListImpl _Ethnicity;
+    protected com.sun.xml.bind.util.ListImpl _Ingredient;
+    protected com.sun.xml.bind.util.ListImpl _PrepTime;
+    protected com.sun.xml.bind.util.ListImpl _Recipe;
+    protected com.sun.xml.bind.util.ListImpl _Difficulty;
+    protected com.sun.xml.bind.util.ListImpl _Meal;
+    protected magoffin.matt.ieat.domain.UiMetaSupport _MetaSupport;
+    protected magoffin.matt.ieat.domain.UiSearchResults _SearchResults;
+    protected com.sun.xml.bind.util.ListImpl _Course;
+    protected com.sun.xml.bind.util.ListImpl _Unit;
+    protected com.sun.xml.bind.util.ListImpl _Base;
+    protected com.sun.xml.bind.util.ListImpl _System;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiData.class);
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getEthnicity() {
+        if (_Ethnicity == null) {
+            _Ethnicity = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Ethnicity;
+    }
+
+    public java.util.List getEthnicity() {
+        return _getEthnicity();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getIngredient() {
+        if (_Ingredient == null) {
+            _Ingredient = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Ingredient;
+    }
+
+    public java.util.List getIngredient() {
+        return _getIngredient();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getPrepTime() {
+        if (_PrepTime == null) {
+            _PrepTime = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _PrepTime;
+    }
+
+    public java.util.List getPrepTime() {
+        return _getPrepTime();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getRecipe() {
+        if (_Recipe == null) {
+            _Recipe = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Recipe;
+    }
+
+    public java.util.List getRecipe() {
+        return _getRecipe();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getDifficulty() {
+        if (_Difficulty == null) {
+            _Difficulty = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Difficulty;
+    }
+
+    public java.util.List getDifficulty() {
+        return _getDifficulty();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getMeal() {
+        if (_Meal == null) {
+            _Meal = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Meal;
+    }
+
+    public java.util.List getMeal() {
+        return _getMeal();
+    }
+
+    public magoffin.matt.ieat.domain.UiMetaSupport getMetaSupport() {
+        return _MetaSupport;
+    }
+
+    public void setMetaSupport(magoffin.matt.ieat.domain.UiMetaSupport value) {
+        _MetaSupport = value;
+    }
+
+    public magoffin.matt.ieat.domain.UiSearchResults getSearchResults() {
+        return _SearchResults;
+    }
+
+    public void setSearchResults(magoffin.matt.ieat.domain.UiSearchResults value) {
+        _SearchResults = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getCourse() {
+        if (_Course == null) {
+            _Course = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Course;
+    }
+
+    public java.util.List getCourse() {
+        return _getCourse();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getUnit() {
+        if (_Unit == null) {
+            _Unit = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Unit;
+    }
+
+    public java.util.List getUnit() {
+        return _getUnit();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getBase() {
+        if (_Base == null) {
+            _Base = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Base;
+    }
+
+    public java.util.List getBase() {
+        return _getBase();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getSystem() {
+        if (_System == null) {
+            _System = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _System;
+    }
+
+    public java.util.List getSystem() {
+        return _getSystem();
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiDataImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Ethnicity == null)? 0 :_Ethnicity.size());
+        int idx2 = 0;
+        final int len2 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        int idx3 = 0;
+        final int len3 = ((_PrepTime == null)? 0 :_PrepTime.size());
+        int idx4 = 0;
+        final int len4 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx5 = 0;
+        final int len5 = ((_Difficulty == null)? 0 :_Difficulty.size());
+        int idx6 = 0;
+        final int len6 = ((_Meal == null)? 0 :_Meal.size());
+        int idx9 = 0;
+        final int len9 = ((_Course == null)? 0 :_Course.size());
+        int idx10 = 0;
+        final int len10 = ((_Unit == null)? 0 :_Unit.size());
+        int idx11 = 0;
+        final int len11 = ((_Base == null)? 0 :_Base.size());
+        int idx12 = 0;
+        final int len12 = ((_System == null)? 0 :_System.size());
+        super.serializeBody(context);
+        if (_SearchResults!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "search-results");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endElement();
+        }
+        if (_MetaSupport!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "meta-support");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _MetaSupport), "MetaSupport");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _MetaSupport), "MetaSupport");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _MetaSupport), "MetaSupport");
+            context.endElement();
+        }
+        while (idx11 != len11) {
+            context.startElement("http://msqr.us/xsd/ieat", "base");
+            int idx_4 = idx11;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Base.get(idx_4 ++)), "Base");
+            context.endNamespaceDecls();
+            int idx_5 = idx11;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Base.get(idx_5 ++)), "Base");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Base.get(idx11 ++)), "Base");
+            context.endElement();
+        }
+        while (idx9 != len9) {
+            context.startElement("http://msqr.us/xsd/ieat", "course");
+            int idx_6 = idx9;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Course.get(idx_6 ++)), "Course");
+            context.endNamespaceDecls();
+            int idx_7 = idx9;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Course.get(idx_7 ++)), "Course");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Course.get(idx9 ++)), "Course");
+            context.endElement();
+        }
+        while (idx5 != len5) {
+            context.startElement("http://msqr.us/xsd/ieat", "difficulty");
+            int idx_8 = idx5;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Difficulty.get(idx_8 ++)), "Difficulty");
+            context.endNamespaceDecls();
+            int idx_9 = idx5;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Difficulty.get(idx_9 ++)), "Difficulty");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Difficulty.get(idx5 ++)), "Difficulty");
+            context.endElement();
+        }
+        while (idx1 != len1) {
+            context.startElement("http://msqr.us/xsd/ieat", "ethnicity");
+            int idx_10 = idx1;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ethnicity.get(idx_10 ++)), "Ethnicity");
+            context.endNamespaceDecls();
+            int idx_11 = idx1;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ethnicity.get(idx_11 ++)), "Ethnicity");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ethnicity.get(idx1 ++)), "Ethnicity");
+            context.endElement();
+        }
+        while (idx2 != len2) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            int idx_12 = idx2;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_12 ++)), "Ingredient");
+            context.endNamespaceDecls();
+            int idx_13 = idx2;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_13 ++)), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx2 ++)), "Ingredient");
+            context.endElement();
+        }
+        while (idx3 != len3) {
+            context.startElement("http://msqr.us/xsd/ieat", "prep-time");
+            int idx_14 = idx3;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _PrepTime.get(idx_14 ++)), "PrepTime");
+            context.endNamespaceDecls();
+            int idx_15 = idx3;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _PrepTime.get(idx_15 ++)), "PrepTime");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _PrepTime.get(idx3 ++)), "PrepTime");
+            context.endElement();
+        }
+        while (idx4 != len4) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe");
+            int idx_16 = idx4;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_16 ++)), "Recipe");
+            context.endNamespaceDecls();
+            int idx_17 = idx4;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_17 ++)), "Recipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx4 ++)), "Recipe");
+            context.endElement();
+        }
+        while (idx12 != len12) {
+            context.startElement("http://msqr.us/xsd/ieat", "system");
+            int idx_18 = idx12;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _System.get(idx_18 ++)), "System");
+            context.endNamespaceDecls();
+            int idx_19 = idx12;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _System.get(idx_19 ++)), "System");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _System.get(idx12 ++)), "System");
+            context.endElement();
+        }
+        while (idx10 != len10) {
+            context.startElement("http://msqr.us/xsd/ieat", "unit");
+            int idx_20 = idx10;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Unit.get(idx_20 ++)), "Unit");
+            context.endNamespaceDecls();
+            int idx_21 = idx10;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Unit.get(idx_21 ++)), "Unit");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Unit.get(idx10 ++)), "Unit");
+            context.endElement();
+        }
+        while (idx6 != len6) {
+            context.startElement("http://msqr.us/xsd/ieat", "meal");
+            int idx_22 = idx6;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Meal.get(idx_22 ++)), "Meal");
+            context.endNamespaceDecls();
+            int idx_23 = idx6;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Meal.get(idx_23 ++)), "Meal");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Meal.get(idx6 ++)), "Meal");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Ethnicity == null)? 0 :_Ethnicity.size());
+        int idx2 = 0;
+        final int len2 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        int idx3 = 0;
+        final int len3 = ((_PrepTime == null)? 0 :_PrepTime.size());
+        int idx4 = 0;
+        final int len4 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx5 = 0;
+        final int len5 = ((_Difficulty == null)? 0 :_Difficulty.size());
+        int idx6 = 0;
+        final int len6 = ((_Meal == null)? 0 :_Meal.size());
+        int idx9 = 0;
+        final int len9 = ((_Course == null)? 0 :_Course.size());
+        int idx10 = 0;
+        final int len10 = ((_Unit == null)? 0 :_Unit.size());
+        int idx11 = 0;
+        final int len11 = ((_Base == null)? 0 :_Base.size());
+        int idx12 = 0;
+        final int len12 = ((_System == null)? 0 :_System.size());
+        super.serializeAttributes(context);
+        while (idx11 != len11) {
+            idx11 += 1;
+        }
+        while (idx9 != len9) {
+            idx9 += 1;
+        }
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+        while (idx3 != len3) {
+            idx3 += 1;
+        }
+        while (idx4 != len4) {
+            idx4 += 1;
+        }
+        while (idx12 != len12) {
+            idx12 += 1;
+        }
+        while (idx10 != len10) {
+            idx10 += 1;
+        }
+        while (idx6 != len6) {
+            idx6 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Ethnicity == null)? 0 :_Ethnicity.size());
+        int idx2 = 0;
+        final int len2 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        int idx3 = 0;
+        final int len3 = ((_PrepTime == null)? 0 :_PrepTime.size());
+        int idx4 = 0;
+        final int len4 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx5 = 0;
+        final int len5 = ((_Difficulty == null)? 0 :_Difficulty.size());
+        int idx6 = 0;
+        final int len6 = ((_Meal == null)? 0 :_Meal.size());
+        int idx9 = 0;
+        final int len9 = ((_Course == null)? 0 :_Course.size());
+        int idx10 = 0;
+        final int len10 = ((_Unit == null)? 0 :_Unit.size());
+        int idx11 = 0;
+        final int len11 = ((_Base == null)? 0 :_Base.size());
+        int idx12 = 0;
+        final int len12 = ((_System == null)? 0 :_System.size());
+        super.serializeURIs(context);
+        while (idx11 != len11) {
+            idx11 += 1;
+        }
+        while (idx9 != len9) {
+            idx9 += 1;
+        }
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+        while (idx3 != len3) {
+            idx3 += 1;
+        }
+        while (idx4 != len4) {
+            idx4 += 1;
+        }
+        while (idx12 != len12) {
+            idx12 += 1;
+        }
+        while (idx10 != len10) {
+            idx10 += 1;
+        }
+        while (idx6 != len6) {
+            idx6 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiData.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun."
++"msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.gram"
++"mar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/ms"
++"v/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003"
++"sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013p"
++"p\u0000sq\u0000~\u0000\u0011ppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000"
++"\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~"
++"\u0000\u0018psr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000"
++"\u0002L\u0000\tnameClassq\u0000~\u0000\u0014xq\u0000~\u0000\u0003q\u0000~\u0000\u0018psr\u00002com.sun.msv.grammar.Expres"
++"sion$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u0017\u0001q\u0000~\u0000\"sr\u0000 com"
++".sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.gram"
++"mar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression"
++"$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000#q\u0000~\u0000(sr\u0000#com.sun.msv"
++".grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang"
++"/String;L\u0000\fnamespaceURIq\u0000~\u0000*xq\u0000~\u0000%t\u0000)magoffin.matt.ieat.doma"
++"in.UiSearchResultst\u0000+http://java.sun.com/jaxb/xjc/dummy-elem"
++"entssq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018psr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L"
++"\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.ms"
++"v.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype."
++"xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd"
++".ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatat"
++"ypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000*L\u0000\btypeNameq\u0000~\u0000*L\u0000\nwhi"
++"teSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000"
++" http://www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.dat"
++"atype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun"
++".msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.su"
++"n.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003p"
++"psr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000*"
++"L\u0000\fnamespaceURIq\u0000~\u0000*xpq\u0000~\u0000;q\u0000~\u0000:sq\u0000~\u0000)t\u0000\u0004typet\u0000)http://www.w"
++"3.org/2001/XMLSchema-instanceq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u000esearch-resultst\u0000\u0017"
++"http://msqr.us/xsd/ieatq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000"
++"~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t"
++"\u0000\'magoffin.matt.ieat.domain.UiMetaSupportq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001f"
++"q\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\fmeta-supportq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011pp"
++"sq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000"
++"\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000\u001emagoffin.matt.ieat.dom"
++"ain.Baseq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u0004bas"
++"eq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp"
++"\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000 mag"
++"offin.matt.ieat.domain.Courseq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q"
++"\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u0006courseq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013"
++"q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000"
++"\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000$magoffin.matt.ieat.domain.Difficultyq\u0000~\u0000"
++"-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\ndifficultyq\u0000~\u0000H"
++"q\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000"
++"\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000#magoffin."
++"matt.ieat.domain.Ethnicityq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000"
++"Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\tethnicityq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013"
++"q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000"
++"\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000$magoffin.matt.ieat.domain.Ingredientq\u0000~\u0000"
++"-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\ningredientq\u0000~\u0000H"
++"q\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000"
++"\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000\"magoffin."
++"matt.ieat.domain.PrepTimeq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000C"
++"q\u0000~\u0000(sq\u0000~\u0000)t\u0000\tprep-timeq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q"
++"\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\""
++"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000 magoffin.matt.ieat.domain.Recipeq\u0000~\u0000-sq\u0000~"
++"\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u0006recipeq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~"
++"\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001c"
++"q\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000 magoffin.matt.ieat"
++".domain.Systemq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)"
++"t\u0000\u0006systemq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~"
++"\u0000)t\u0000\u001emagoffin.matt.ieat.domain.Unitq\u0000~\u0000-sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018p"
++"q\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u0004unitq\u0000~\u0000Hq\u0000~\u0000(sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq"
++"\u0000~\u0000\u0013q\u0000~\u0000\u0018p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0013pp\u0000sq\u0000~\u0000\u0011ppsq\u0000~\u0000\u001cq\u0000~\u0000\u0018psq\u0000~\u0000\u001fq\u0000~\u0000\u0018p"
++"q\u0000~\u0000\"q\u0000~\u0000&q\u0000~\u0000(sq\u0000~\u0000)t\u0000\u001emagoffin.matt.ieat.domain.Mealq\u0000~\u0000-s"
++"q\u0000~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018pq\u0000~\u00003q\u0000~\u0000Cq\u0000~\u0000(sq\u0000~\u0000)t\u0000\u0004mealq\u0000~\u0000Hq\u0000~\u0000(sq\u0000"
++"~\u0000\u0011ppsq\u0000~\u0000\u001fq\u0000~\u0000\u0018psq\u0000~\u00000ppsr\u0000#com.sun.msv.datatype.xsd.String"
++"Type\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u00005q\u0000~\u0000:t\u0000\u0006stringsr\u00005com.s"
++"un.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000x"
++"q\u0000~\u0000=\u0001q\u0000~\u0000@sq\u0000~\u0000Aq\u0000~\u0000\u00e7q\u0000~\u0000:sq\u0000~\u0000)t\u0000\u0004modet\u0000\u0000q\u0000~\u0000(sr\u0000\"com.sun."
++"msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/"
++"msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gram"
++"mar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVer"
++"sionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000S\u0001p"
++"q\u0000~\u0000\tq\u0000~\u0000\u009cq\u0000~\u0000\u008eq\u0000~\u0000\u0080q\u0000~\u0000rq\u0000~\u0000dq\u0000~\u0000Vq\u0000~\u0000\u00aaq\u0000~\u0000\u00b8q\u0000~\u0000\u00c6q\u0000~\u0000\u00d4q\u0000~\u0000|"
++"q\u0000~\u0000nq\u0000~\u0000`q\u0000~\u0000Rq\u0000~\u0000.q\u0000~\u0000\u0010q\u0000~\u0000\u00b4q\u0000~\u0000\u00a6q\u0000~\u0000\u0098q\u0000~\u0000\u008aq\u0000~\u0000\u00c2q\u0000~\u0000\bq\u0000~\u0000\u00d0"
++"q\u0000~\u0000\u00deq\u0000~\u0000\u000eq\u0000~\u0000\fq\u0000~\u0000\u000fq\u0000~\u0000\u009dq\u0000~\u0000\u008fq\u0000~\u0000\u0081q\u0000~\u0000sq\u0000~\u0000eq\u0000~\u0000Wq\u0000~\u0000\u00abq\u0000~\u0000\u00b9"
++"q\u0000~\u0000\u00c7q\u0000~\u0000\u00d5q\u0000~\u0000\u00b0q\u0000~\u0000\u00a2q\u0000~\u0000\u0094q\u0000~\u0000\u0086q\u0000~\u0000xq\u0000~\u0000jq\u0000~\u0000\\q\u0000~\u0000Nq\u0000~\u0000\u001eq\u0000~\u0000\u00be"
++"q\u0000~\u0000\u00ccq\u0000~\u0000\u00daq\u0000~\u0000\u0006q\u0000~\u0000\u00e2q\u0000~\u0000\u00afq\u0000~\u0000\u00a1q\u0000~\u0000\u0093q\u0000~\u0000\u0085q\u0000~\u0000wq\u0000~\u0000iq\u0000~\u0000[q\u0000~\u0000M"
++"q\u0000~\u0000\u001bq\u0000~\u0000\u00bdq\u0000~\u0000\u00cbq\u0000~\u0000\u00d9q\u0000~\u0000\u0005q\u0000~\u0000Iq\u0000~\u0000\u0012q\u0000~\u0000\u00adq\u0000~\u0000\u009fq\u0000~\u0000\u0091q\u0000~\u0000\u0083q\u0000~\u0000u"
++"q\u0000~\u0000gq\u0000~\u0000Yq\u0000~\u0000Kq\u0000~\u0000\u0019q\u0000~\u0000\u00bbq\u0000~\u0000\u00c9q\u0000~\u0000\u00d7q\u0000~\u0000\u0007q\u0000~\u0000\nq\u0000~\u0000\u000bq\u0000~\u0000\rx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiData))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiDataImpl target = ((magoffin.matt.ieat.domain.impl.UiDataImpl) obj);
+        {
+            java.util.List value = this.getEthnicity();
+            java.util.List targetValue = target.getEthnicity();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getPrepTime();
+            java.util.List targetValue = target.getPrepTime();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRecipe();
+            java.util.List targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getDifficulty();
+            java.util.List targetValue = target.getDifficulty();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getMeal();
+            java.util.List targetValue = target.getMeal();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiMetaSupport value = this.getMetaSupport();
+            magoffin.matt.ieat.domain.UiMetaSupport targetValue = target.getMetaSupport();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            magoffin.matt.ieat.domain.UiSearchResults targetValue = target.getSearchResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getCourse();
+            java.util.List targetValue = target.getCourse();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getUnit();
+            java.util.List targetValue = target.getUnit();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getBase();
+            java.util.List targetValue = target.getBase();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getSystem();
+            java.util.List targetValue = target.getSystem();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getEthnicity();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getPrepTime();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getDifficulty();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getMeal();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiMetaSupport value = this.getMetaSupport();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getCourse();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getUnit();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getBase();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getSystem();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "--------------------------------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiDataImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 2;
+                            return ;
+                        }
+                        state = 4;
+                        continue outer;
+                    case  31 :
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 29;
+                            return ;
+                        }
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 32;
+                            return ;
+                        }
+                        state = 34;
+                        continue outer;
+                    case  22 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 20;
+                            return ;
+                        }
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 23;
+                            return ;
+                        }
+                        state = 25;
+                        continue outer;
+                    case  26 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 27, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 8;
+                            return ;
+                        }
+                        state = 10;
+                        continue outer;
+                    case  29 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 23;
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 26;
+                            return ;
+                        }
+                        state = 28;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  28 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 26;
+                            return ;
+                        }
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 29;
+                            return ;
+                        }
+                        state = 31;
+                        continue outer;
+                    case  2 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  17 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 14;
+                            return ;
+                        }
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 17;
+                            return ;
+                        }
+                        state = 19;
+                        continue outer;
+                    case  35 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getMeal().add(((magoffin.matt.ieat.domain.impl.MealImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.MealImpl.class), 36, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 11;
+                            return ;
+                        }
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 14;
+                            return ;
+                        }
+                        state = 16;
+                        continue outer;
+                    case  4 :
+                        if (("meta-support" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 5;
+                            return ;
+                        }
+                        state = 7;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  19 :
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 17;
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 20;
+                            return ;
+                        }
+                        state = 22;
+                        continue outer;
+                    case  37 :
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 35;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  5 :
+                        if (("meta" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, ___uri, ___local, ___qname, __atts));
+                        return ;
+                    case  34 :
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 32;
+                            return ;
+                        }
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 35;
+                            return ;
+                        }
+                        state = 37;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 21, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 8;
+                            return ;
+                        }
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 11;
+                            return ;
+                        }
+                        state = 13;
+                        continue outer;
+                    case  32 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        state = 4;
+                        continue outer;
+                    case  18 :
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 19;
+                            return ;
+                        }
+                        break;
+                    case  31 :
+                        state = 34;
+                        continue outer;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  36 :
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 37;
+                            return ;
+                        }
+                        break;
+                    case  26 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  30 :
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 31;
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  29 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 16;
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                        return ;
+                    case  28 :
+                        state = 31;
+                        continue outer;
+                    case  33 :
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 34;
+                            return ;
+                        }
+                        break;
+                    case  21 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 22;
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 10;
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  17 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  35 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  27 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 28;
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  4 :
+                        state = 7;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  24 :
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 25;
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  37 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  5 :
+                        _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, ___uri, ___local, ___qname));
+                        return ;
+                    case  34 :
+                        state = 37;
+                        continue outer;
+                    case  6 :
+                        if (("meta-support" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 7;
+                            return ;
+                        }
+                        break;
+                    case  20 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  12 :
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 13;
+                            return ;
+                        }
+                        break;
+                    case  32 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        state = 4;
+                        continue outer;
+                    case  31 :
+                        state = 34;
+                        continue outer;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  26 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  29 :
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            _getSystem().add(((magoffin.matt.ieat.domain.impl.SystemImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.SystemImpl.class), 30, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  0 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                        return ;
+                    case  28 :
+                        state = 31;
+                        continue outer;
+                    case  2 :
+                        if (("pageSize" == ___local)&&("" == ___uri)) {
+                            _SearchResults = ((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.class), 3, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("pageStart" == ___local)&&("" == ___uri)) {
+                            _SearchResults = ((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.class), 3, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  17 :
+                        if (("ethnicityId" == ___local)&&("" == ___uri)) {
+                            _getEthnicity().add(((magoffin.matt.ieat.domain.impl.EthnicityImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.EthnicityImpl.class), 18, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  35 :
+                        if (("mealId" == ___local)&&("" == ___uri)) {
+                            _getMeal().add(((magoffin.matt.ieat.domain.impl.MealImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.MealImpl.class), 36, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        if (("difficultyId" == ___local)&&("" == ___uri)) {
+                            _getDifficulty().add(((magoffin.matt.ieat.domain.impl.DifficultyImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.DifficultyImpl.class), 15, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  4 :
+                        state = 7;
+                        continue outer;
+                    case  23 :
+                        if (("prepTimeId" == ___local)&&("" == ___uri)) {
+                            _getPrepTime().add(((magoffin.matt.ieat.domain.impl.PrepTimeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.PrepTimeImpl.class), 24, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        if (("courseId" == ___local)&&("" == ___uri)) {
+                            _getCourse().add(((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.CourseImpl.class), 12, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  37 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  5 :
+                        _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, ___uri, ___local, ___qname));
+                        return ;
+                    case  34 :
+                        state = 37;
+                        continue outer;
+                    case  20 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 21, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        if (("baseId" == ___local)&&("" == ___uri)) {
+                            _getBase().add(((magoffin.matt.ieat.domain.impl.BaseImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.BaseImpl.class), 9, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  32 :
+                        if (("abbreviation" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("mass" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("systemId" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("toImperial" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("toMetric" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("toUS" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("unitId" == ___local)&&("" == ___uri)) {
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        state = 4;
+                        continue outer;
+                    case  31 :
+                        state = 34;
+                        continue outer;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  26 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  29 :
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                        return ;
+                    case  28 :
+                        state = 31;
+                        continue outer;
+                    case  2 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  17 :
+                        attIdx = context.getAttribute("", "ethnicityId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  35 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        attIdx = context.getAttribute("", "difficultyId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  4 :
+                        state = 7;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "prepTimeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "courseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  37 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  5 :
+                        _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, ___uri, ___local, ___qname));
+                        return ;
+                    case  34 :
+                        state = 37;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  8 :
+                        attIdx = context.getAttribute("", "baseId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  32 :
+                        attIdx = context.getAttribute("", "abbreviation");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "mass");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "systemId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toImperial");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toMetric");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "toUS");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "unitId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            state = 4;
+                            continue outer;
+                        case  31 :
+                            state = 34;
+                            continue outer;
+                        case  22 :
+                            state = 25;
+                            continue outer;
+                        case  26 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  7 :
+                            state = 10;
+                            continue outer;
+                        case  29 :
+                            attIdx = context.getAttribute("", "systemId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getSystem().add(((magoffin.matt.ieat.domain.impl.SystemImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.SystemImpl.class), 30, value)));
+                            return ;
+                        case  25 :
+                            state = 28;
+                            continue outer;
+                        case  0 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiDataImpl.this).new Unmarshaller(context)), 1, value);
+                            return ;
+                        case  28 :
+                            state = 31;
+                            continue outer;
+                        case  2 :
+                            attIdx = context.getAttribute("", "pageSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "pageStart");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  17 :
+                            attIdx = context.getAttribute("", "ethnicityId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getEthnicity().add(((magoffin.matt.ieat.domain.impl.EthnicityImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.EthnicityImpl.class), 18, value)));
+                            return ;
+                        case  16 :
+                            state = 19;
+                            continue outer;
+                        case  35 :
+                            attIdx = context.getAttribute("", "mealId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  14 :
+                            attIdx = context.getAttribute("", "difficultyId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getDifficulty().add(((magoffin.matt.ieat.domain.impl.DifficultyImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.DifficultyImpl.class), 15, value)));
+                            return ;
+                        case  13 :
+                            state = 16;
+                            continue outer;
+                        case  4 :
+                            state = 7;
+                            continue outer;
+                        case  23 :
+                            attIdx = context.getAttribute("", "prepTimeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getPrepTime().add(((magoffin.matt.ieat.domain.impl.PrepTimeImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.PrepTimeImpl.class), 24, value)));
+                            return ;
+                        case  11 :
+                            attIdx = context.getAttribute("", "courseId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getCourse().add(((magoffin.matt.ieat.domain.impl.CourseImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.CourseImpl.class), 12, value)));
+                            return ;
+                        case  19 :
+                            state = 22;
+                            continue outer;
+                        case  37 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  5 :
+                            _MetaSupport = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.class), 6, value));
+                            return ;
+                        case  34 :
+                            state = 37;
+                            continue outer;
+                        case  20 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  8 :
+                            attIdx = context.getAttribute("", "baseId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getBase().add(((magoffin.matt.ieat.domain.impl.BaseImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.BaseImpl.class), 9, value)));
+                            return ;
+                        case  10 :
+                            state = 13;
+                            continue outer;
+                        case  32 :
+                            attIdx = context.getAttribute("", "abbreviation");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "mass");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "systemId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toImperial");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toMetric");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "toUS");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "unitId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _getUnit().add(((magoffin.matt.ieat.domain.impl.UnitImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.UnitImpl.class), 33, value)));
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 1368 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiEditImpl.java

@@ -0,0 +1,1368 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiEditImpl
+    extends magoffin.matt.ieat.domain.impl.UiBaseImpl
+    implements magoffin.matt.ieat.domain.UiEdit, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected boolean has_Refresh;
+    protected boolean _Refresh;
+    protected magoffin.matt.ieat.domain.User _User;
+    protected magoffin.matt.ieat.domain.MealRecipe _MealRecipe;
+    protected magoffin.matt.ieat.domain.Ingredient _Ingredient;
+    protected magoffin.matt.ieat.domain.Recipe _Recipe;
+    protected magoffin.matt.ieat.domain.Meal _Meal;
+    protected boolean has_IgnoreWarnings;
+    protected boolean _IgnoreWarnings;
+    protected magoffin.matt.ieat.domain.UiSearchResults _SearchResults;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiEdit.class);
+    }
+
+    public boolean isRefresh() {
+        if (!has_Refresh) {
+            return javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.DatatypeConverterImpl.installHook("false"));
+        } else {
+            return _Refresh;
+        }
+    }
+
+    public void setRefresh(boolean value) {
+        _Refresh = value;
+        has_Refresh = true;
+    }
+
+    public magoffin.matt.ieat.domain.User getUser() {
+        return _User;
+    }
+
+    public void setUser(magoffin.matt.ieat.domain.User value) {
+        _User = value;
+    }
+
+    public magoffin.matt.ieat.domain.MealRecipe getMealRecipe() {
+        return _MealRecipe;
+    }
+
+    public void setMealRecipe(magoffin.matt.ieat.domain.MealRecipe value) {
+        _MealRecipe = value;
+    }
+
+    public magoffin.matt.ieat.domain.Ingredient getIngredient() {
+        return _Ingredient;
+    }
+
+    public void setIngredient(magoffin.matt.ieat.domain.Ingredient value) {
+        _Ingredient = value;
+    }
+
+    public magoffin.matt.ieat.domain.Recipe getRecipe() {
+        return _Recipe;
+    }
+
+    public void setRecipe(magoffin.matt.ieat.domain.Recipe value) {
+        _Recipe = value;
+    }
+
+    public magoffin.matt.ieat.domain.Meal getMeal() {
+        return _Meal;
+    }
+
+    public void setMeal(magoffin.matt.ieat.domain.Meal value) {
+        _Meal = value;
+    }
+
+    public boolean isIgnoreWarnings() {
+        if (!has_IgnoreWarnings) {
+            return javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.DatatypeConverterImpl.installHook("false"));
+        } else {
+            return _IgnoreWarnings;
+        }
+    }
+
+    public void setIgnoreWarnings(boolean value) {
+        _IgnoreWarnings = value;
+        has_IgnoreWarnings = true;
+    }
+
+    public magoffin.matt.ieat.domain.UiSearchResults getSearchResults() {
+        return _SearchResults;
+    }
+
+    public void setSearchResults(magoffin.matt.ieat.domain.UiSearchResults value) {
+        _SearchResults = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiEditImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeBody(context);
+        if (_Ingredient!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient), "Ingredient");
+            context.endElement();
+        }
+        if (_Recipe!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe), "Recipe");
+            context.endElement();
+        }
+        if (_User!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "user");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _User), "User");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _User), "User");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _User), "User");
+            context.endElement();
+        }
+        if (_Meal!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "meal");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Meal), "Meal");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Meal), "Meal");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Meal), "Meal");
+            context.endElement();
+        }
+        if (_MealRecipe!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "meal-recipe");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _MealRecipe), "MealRecipe");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _MealRecipe), "MealRecipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _MealRecipe), "MealRecipe");
+            context.endElement();
+        }
+        if (_SearchResults!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "search-results");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _SearchResults), "SearchResults");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (has_IgnoreWarnings) {
+            context.startAttribute("", "ignoreWarnings");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _IgnoreWarnings)), "IgnoreWarnings");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        if (has_Refresh) {
+            context.startAttribute("", "refresh");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _Refresh)), "Refresh");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        super.serializeAttributes(context);
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeURIs(context);
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiEdit.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun."
++"msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttribut"
++"esL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001"
++"Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsr\u0000 com.sun.msv.gramma"
++"r.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\u0014psr\u0000 com.sun.msv.grammar.Attri"
++"buteExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\u0010xq\u0000~\u0000\u0003q\u0000~\u0000\u0014psr"
++"\u00002com.sun.msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u0013\u0001q\u0000~\u0000\u001esr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000co"
++"m.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000"
++"~\u0000\u0003q\u0000~\u0000\u001fq\u0000~\u0000$sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000&xq\u0000~"
++"\u0000!t\u0000$magoffin.matt.ieat.domain.Ingredientt\u0000+http://java.sun."
++"com/jaxb/xjc/dummy-elementssq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014psr\u0000\u001bcom.sun.m"
++"sv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/D"
++"atatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair"
++";xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr"
++"\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%c"
++"om.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.m"
++"sv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000"
++"&L\u0000\btypeNameq\u0000~\u0000&L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/W"
++"hiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005Q"
++"Namesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collaps"
++"e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSetExpre"
++"ssion\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB"
++"\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000&L\u0000\fnamespaceURIq\u0000~\u0000&xpq\u0000~\u00007q\u0000~\u00006sq\u0000~\u0000"
++"%t\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~\u0000$sq\u0000"
++"~\u0000%t\u0000\ningredientt\u0000\u0017http://msqr.us/xsd/ieatq\u0000~\u0000$sq\u0000~\u0000\rppsq\u0000~\u0000"
++"\u000fq\u0000~\u0000\u0014p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsq\u0000~\u0000\u0018q\u0000~\u0000\u0014psq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~"
++"\u0000\u001eq\u0000~\u0000\"q\u0000~\u0000$sq\u0000~\u0000%t\u0000 magoffin.matt.ieat.domain.Recipeq\u0000~\u0000)sq"
++"\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000/q\u0000~\u0000?q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u0006recipeq\u0000~\u0000Dq\u0000~\u0000$sq"
++"\u0000~\u0000\rppsq\u0000~\u0000\u000fq\u0000~\u0000\u0014p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsq\u0000~\u0000\u0018q\u0000~\u0000\u0014psq\u0000~"
++"\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000\u001eq\u0000~\u0000\"q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u001emagoffin.matt.ieat.domain.Us"
++"erq\u0000~\u0000)sq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000/q\u0000~\u0000?q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u0004userq\u0000~\u0000D"
++"q\u0000~\u0000$sq\u0000~\u0000\rppsq\u0000~\u0000\u000fq\u0000~\u0000\u0014p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsq\u0000~\u0000\u0018q\u0000~"
++"\u0000\u0014psq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000\u001eq\u0000~\u0000\"q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u001emagoffin.matt.ieat.do"
++"main.Mealq\u0000~\u0000)sq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000/q\u0000~\u0000?q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u0004me"
++"alq\u0000~\u0000Dq\u0000~\u0000$sq\u0000~\u0000\rppsq\u0000~\u0000\u000fq\u0000~\u0000\u0014p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsq"
++"\u0000~\u0000\u0018q\u0000~\u0000\u0014psq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000\u001eq\u0000~\u0000\"q\u0000~\u0000$sq\u0000~\u0000%t\u0000$magoffin.matt."
++"ieat.domain.MealRecipeq\u0000~\u0000)sq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000/q\u0000~\u0000?q\u0000~"
++"\u0000$sq\u0000~\u0000%t\u0000\u000bmeal-recipeq\u0000~\u0000Dq\u0000~\u0000$sq\u0000~\u0000\rppsq\u0000~\u0000\u000fq\u0000~\u0000\u0014p\u0000sq\u0000~\u0000\u0000p"
++"psq\u0000~\u0000\u000fpp\u0000sq\u0000~\u0000\rppsq\u0000~\u0000\u0018q\u0000~\u0000\u0014psq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000\u001eq\u0000~\u0000\"q\u0000~\u0000$sq\u0000"
++"~\u0000%t\u0000)magoffin.matt.ieat.domain.UiSearchResultsq\u0000~\u0000)sq\u0000~\u0000\rpp"
++"sq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000/q\u0000~\u0000?q\u0000~\u0000$sq\u0000~\u0000%t\u0000\u000esearch-resultsq\u0000~\u0000Dq\u0000~\u0000$"
++"sq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014psq\u0000~\u0000,ppsr\u0000#com.sun.msv.datatype.xsd.Str"
++"ingType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u00001q\u0000~\u00006t\u0000\u0006stringsr\u00005co"
++"m.sun.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u00009\u0001q\u0000~\u0000<sq\u0000~\u0000=q\u0000~\u0000\u008bq\u0000~\u00006sq\u0000~\u0000%t\u0000\u0004modet\u0000\u0000q\u0000~\u0000$sq\u0000~\u0000\rpps"
++"q\u0000~\u0000\u001bq\u0000~\u0000\u0014psq\u0000~\u0000,ppsr\u0000$com.sun.msv.datatype.xsd.BooleanType\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00001q\u0000~\u00006t\u0000\u0007booleanq\u0000~\u0000:q\u0000~\u0000<sq\u0000~\u0000=q\u0000~\u0000\u0097q\u0000~\u00006sq\u0000"
++"~\u0000%t\u0000\u000eignoreWarningsq\u0000~\u0000\u0091q\u0000~\u0000$sq\u0000~\u0000\rppsq\u0000~\u0000\u001bq\u0000~\u0000\u0014pq\u0000~\u0000\u0094sq\u0000~\u0000"
++"%t\u0000\u0007refreshq\u0000~\u0000\u0091q\u0000~\u0000$sr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$"
++"ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHa"
++"sh\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/ms"
++"v/grammar/ExpressionPool;xp\u0000\u0000\u0000)\u0001pq\u0000~\u0000\u0082q\u0000~\u0000\u009bq\u0000~\u0000\u000eq\u0000~\u0000Eq\u0000~\u0000Rq\u0000"
++"~\u0000_q\u0000~\u0000lq\u0000~\u0000yq\u0000~\u0000\u0007q\u0000~\u0000\u0086q\u0000~\u0000\u0015q\u0000~\u0000Gq\u0000~\u0000Tq\u0000~\u0000aq\u0000~\u0000nq\u0000~\u0000\nq\u0000~\u0000{q\u0000"
++"~\u0000\u0017q\u0000~\u0000Iq\u0000~\u0000Vq\u0000~\u0000cq\u0000~\u0000pq\u0000~\u0000}q\u0000~\u0000\u000bq\u0000~\u0000\u0005q\u0000~\u0000\u0006q\u0000~\u0000\tq\u0000~\u0000\u0092q\u0000~\u0000\u001aq\u0000"
++"~\u0000Jq\u0000~\u0000Wq\u0000~\u0000dq\u0000~\u0000qq\u0000~\u0000~q\u0000~\u0000\bq\u0000~\u0000\fq\u0000~\u0000*q\u0000~\u0000Nq\u0000~\u0000[q\u0000~\u0000hq\u0000~\u0000ux"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiEdit))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiEditImpl target = ((magoffin.matt.ieat.domain.impl.UiEditImpl) obj);
+        {
+            boolean value = this.isRefresh();
+            boolean targetValue = target.isRefresh();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getUser();
+            magoffin.matt.ieat.domain.User targetValue = target.getUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.MealRecipe value = this.getMealRecipe();
+            magoffin.matt.ieat.domain.MealRecipe targetValue = target.getMealRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            magoffin.matt.ieat.domain.Ingredient targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            magoffin.matt.ieat.domain.Recipe targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Meal value = this.getMeal();
+            magoffin.matt.ieat.domain.Meal targetValue = target.getMeal();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isIgnoreWarnings();
+            boolean targetValue = target.isIgnoreWarnings();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            magoffin.matt.ieat.domain.UiSearchResults targetValue = target.getSearchResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            boolean value = this.isRefresh();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.MealRecipe value = this.getMealRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Ingredient value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Recipe value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Meal value = this.getMeal();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isIgnoreWarnings();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "--------------------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiEditImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 11;
+                            return ;
+                        }
+                        state = 13;
+                        continue outer;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Meal = ((magoffin.matt.ieat.domain.impl.MealImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.MealImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 17;
+                            return ;
+                        }
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _MealRecipe = ((magoffin.matt.ieat.domain.impl.MealRecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.MealRecipeImpl.class), 21, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 23;
+                            return ;
+                        }
+                        state = 25;
+                        continue outer;
+                    case  19 :
+                        if (("meal-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 20;
+                            return ;
+                        }
+                        state = 22;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  7 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 8;
+                            return ;
+                        }
+                        state = 10;
+                        continue outer;
+                    case  8 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Ingredient = ((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 9, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 12, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  23 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 14;
+                            return ;
+                        }
+                        state = 16;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  14 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _IgnoreWarnings = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_IgnoreWarnings = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Refresh = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Refresh = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  12 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 13;
+                            return ;
+                        }
+                        break;
+                    case  21 :
+                        if (("meal-recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 22;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  8 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  24 :
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 25;
+                            return ;
+                        }
+                        break;
+                    case  23 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  15 :
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 16;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, ___uri, ___local, ___qname);
+                        return ;
+                    case  14 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  9 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 10;
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  18 :
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 19;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("ignoreWarnings" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  17 :
+                        if (("mealId" == ___local)&&("" == ___uri)) {
+                            _Meal = ((magoffin.matt.ieat.domain.impl.MealImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.MealImpl.class), 18, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        if (("quantity" == ___local)&&("" == ___uri)) {
+                            _MealRecipe = ((magoffin.matt.ieat.domain.impl.MealRecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.MealRecipeImpl.class), 21, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  3 :
+                        if (("refresh" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  8 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            _Ingredient = ((magoffin.matt.ieat.domain.impl.IngredientImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.IngredientImpl.class), 9, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 12, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 12, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 12, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _Recipe = ((magoffin.matt.ieat.domain.impl.RecipeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeImpl.class), 12, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  23 :
+                        if (("pageSize" == ___local)&&("" == ___uri)) {
+                            _SearchResults = ((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.class), 24, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("pageStart" == ___local)&&("" == ___uri)) {
+                            _SearchResults = ((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.class), 24, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  6 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, ___uri, ___local, ___qname);
+                        return ;
+                    case  14 :
+                        if (("accessLevel" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("country" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("language" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("lastLoginDate" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("login" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _User = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "ignoreWarnings");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mealId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "quantity");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("ignoreWarnings" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  5 :
+                        if (("refresh" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "refresh");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  7 :
+                        state = 10;
+                        continue outer;
+                    case  8 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  23 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, ___uri, ___local, ___qname);
+                        return ;
+                    case  14 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  25 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "ignoreWarnings");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  10 :
+                            state = 13;
+                            continue outer;
+                        case  17 :
+                            attIdx = context.getAttribute("", "mealId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  16 :
+                            state = 19;
+                            continue outer;
+                        case  20 :
+                            attIdx = context.getAttribute("", "quantity");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  22 :
+                            state = 25;
+                            continue outer;
+                        case  19 :
+                            state = 22;
+                            continue outer;
+                        case  3 :
+                            attIdx = context.getAttribute("", "refresh");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 6;
+                            continue outer;
+                        case  7 :
+                            state = 10;
+                            continue outer;
+                        case  8 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  11 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  23 :
+                            attIdx = context.getAttribute("", "pageSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "pageStart");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  13 :
+                            state = 16;
+                            continue outer;
+                        case  6 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiEditImpl.this).new Unmarshaller(context)), 7, value);
+                            return ;
+                        case  14 :
+                            attIdx = context.getAttribute("", "accessLevel");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "country");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "language");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "lastLoginDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "login");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  25 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 528 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiImpl.java

@@ -0,0 +1,528 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiImpl
+    extends magoffin.matt.ieat.domain.impl.UiDataImpl
+    implements magoffin.matt.ieat.domain.Ui, java.io.Serializable, com.sun.xml.bind.RIElement, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.Ui.class);
+    }
+
+    public java.lang.String ____jaxb_ri____getNamespaceURI() {
+        return "http://msqr.us/xsd/ieat";
+    }
+
+    public java.lang.String ____jaxb_ri____getLocalName() {
+        return "ui";
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startElement("http://msqr.us/xsd/ieat", "ui");
+        super.serializeURIs(context);
+        context.endNamespaceDecls();
+        super.serializeAttributes(context);
+        context.endAttributes();
+        super.serializeBody(context);
+        context.endElement();
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.Ui.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000"
++"\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv."
++"grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000"
++"\fcontentModelt\u0000 Lcom/sun/msv/grammar/Expression;xr\u0000\u001ecom.sun."
++"msv.grammar.Expression\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Lj"
++"ava/lang/Boolean;L\u0000\u000bexpandedExpq\u0000~\u0000\u0003xppp\u0000sr\u0000\u001fcom.sun.msv.gra"
++"mmar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.BinaryExp"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1q\u0000~\u0000\u0003L\u0000\u0004exp2q\u0000~\u0000\u0003xq\u0000~\u0000\u0004ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007pps"
++"q\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000"
++"\u0007ppsq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0007ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\bppsq\u0000~\u0000\u0000sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000"
++"p\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsr\u0000 com.sun.msv.grammar.OneOrMore"
++"Exp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003"
++"expq\u0000~\u0000\u0003xq\u0000~\u0000\u0004q\u0000~\u0000\u001apsr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0003L\u0000\tnameClassq\u0000~\u0000\u0001xq\u0000~\u0000\u0004q\u0000~\u0000\u001apsr\u00002com.sun.m"
++"sv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004sq"
++"\u0000~\u0000\u0019\u0001q\u0000~\u0000$sr\u0000 com.sun.msv.grammar.AnyNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000"
++"\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.g"
++"rammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004q\u0000~\u0000%q\u0000~"
++"\u0000*sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocal"
++"Namet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000,xq\u0000~\u0000\'t\u0000)magoff"
++"in.matt.ieat.domain.UiSearchResultst\u0000+http://java.sun.com/ja"
++"xb/xjc/dummy-elementssq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apsr\u0000\u001bcom.sun.msv.gra"
++"mmar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatyp"
++"e;L\u0000\u0006exceptq\u0000~\u0000\u0003L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000"
++"\u0004ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com."
++"sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun"
++".msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.dat"
++"atype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000,L\u0000\bty"
++"peNameq\u0000~\u0000,L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSp"
++"aceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005QNamesr"
++"\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0004ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002"
++"L\u0000\tlocalNameq\u0000~\u0000,L\u0000\fnamespaceURIq\u0000~\u0000,xpq\u0000~\u0000=q\u0000~\u0000<sq\u0000~\u0000+t\u0000\u0004ty"
++"pet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u000e"
++"search-resultst\u0000\u0017http://msqr.us/xsd/ieatq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u0000q"
++"\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$"
++"q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000\'magoffin.matt.ieat.domain.UiMetaSupportq\u0000"
++"~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\fmeta-supportq"
++"\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000s"
++"q\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000\u001emagof"
++"fin.matt.ieat.domain.Baseq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000E"
++"q\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0004baseq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap"
++"\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000("
++"q\u0000~\u0000*sq\u0000~\u0000+t\u0000 magoffin.matt.ieat.domain.Courseq\u0000~\u0000/sq\u0000~\u0000\u0016pps"
++"q\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0006courseq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016pps"
++"q\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001a"
++"psq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000$magoffin.matt.ieat.doma"
++"in.Difficultyq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t"
++"\u0000\ndifficultyq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000"
++"\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*s"
++"q\u0000~\u0000+t\u0000#magoffin.matt.ieat.domain.Ethnicityq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~"
++"\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\tethnicityq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016pps"
++"q\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001a"
++"psq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000$magoffin.matt.ieat.doma"
++"in.Ingredientq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t"
++"\u0000\ningredientq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000"
++"\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*s"
++"q\u0000~\u0000+t\u0000\"magoffin.matt.ieat.domain.PrepTimeq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000"
++"!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\tprep-timeq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq"
++"\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001ap"
++"sq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000 magoffin.matt.ieat.domai"
++"n.Recipeq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0006rec"
++"ipeq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000"
++"pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000 m"
++"agoffin.matt.ieat.domain.Systemq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000"
++"5q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0006systemq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~"
++"\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000"
++"~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000\u001emagoffin.matt.ieat.domain.Unitq\u0000~\u0000/sq\u0000"
++"~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0004unitq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000"
++"\u0016ppsq\u0000~\u0000\u001eq\u0000~\u0000\u001apsq\u0000~\u0000\u0000q\u0000~\u0000\u001ap\u0000sq\u0000~\u0000\u0007ppsq\u0000~\u0000\u0000pp\u0000sq\u0000~\u0000\u0016ppsq\u0000~\u0000\u001eq"
++"\u0000~\u0000\u001apsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u0000$q\u0000~\u0000(q\u0000~\u0000*sq\u0000~\u0000+t\u0000\u001emagoffin.matt.ieat."
++"domain.Mealq\u0000~\u0000/sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0004"
++"mealq\u0000~\u0000Jq\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apsq\u0000~\u00002ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxq\u0000~\u00007q\u0000~\u0000<t"
++"\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Pre"
++"serve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000?\u0001q\u0000~\u0000Bsq\u0000~\u0000Cq\u0000~\u0000\u00e9q\u0000~\u0000<sq\u0000~\u0000+t\u0000\u0004modet\u0000\u0000"
++"q\u0000~\u0000*sq\u0000~\u0000\u0016ppsq\u0000~\u0000!q\u0000~\u0000\u001apq\u0000~\u00005q\u0000~\u0000Eq\u0000~\u0000*sq\u0000~\u0000+t\u0000\u0002uiq\u0000~\u0000Jsr\u0000\""
++"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/L"
++"com/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun."
++"msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rs"
++"treamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;"
++"xp\u0000\u0000\u0000U\u0001pq\u0000~\u0000\u000eq\u0000~\u0000\u009eq\u0000~\u0000\u0090q\u0000~\u0000\u0082q\u0000~\u0000tq\u0000~\u0000fq\u0000~\u0000Xq\u0000~\u0000\u00acq\u0000~\u0000\u00baq\u0000~\u0000\u00c8q\u0000"
++"~\u0000\u00d6q\u0000~\u0000~q\u0000~\u0000pq\u0000~\u0000bq\u0000~\u0000Tq\u0000~\u00000q\u0000~\u0000\u0015q\u0000~\u0000\u00b6q\u0000~\u0000\u00a8q\u0000~\u0000\u009aq\u0000~\u0000\u008cq\u0000~\u0000\u00c4q\u0000"
++"~\u0000\rq\u0000~\u0000\u00d2q\u0000~\u0000\u00e0q\u0000~\u0000\u00f0q\u0000~\u0000\u0013q\u0000~\u0000\u0011q\u0000~\u0000\tq\u0000~\u0000\u0014q\u0000~\u0000\u009fq\u0000~\u0000\u0091q\u0000~\u0000\u0083q\u0000~\u0000uq\u0000"
++"~\u0000gq\u0000~\u0000Yq\u0000~\u0000\u00adq\u0000~\u0000\u00bbq\u0000~\u0000\u00c9q\u0000~\u0000\u00d7q\u0000~\u0000\u00b2q\u0000~\u0000\u00a4q\u0000~\u0000\u0096q\u0000~\u0000\u0088q\u0000~\u0000zq\u0000~\u0000lq\u0000"
++"~\u0000^q\u0000~\u0000Pq\u0000~\u0000 q\u0000~\u0000\u00c0q\u0000~\u0000\u00ceq\u0000~\u0000\u00dcq\u0000~\u0000\u000bq\u0000~\u0000\u00e4q\u0000~\u0000\u00b1q\u0000~\u0000\u00a3q\u0000~\u0000\u0095q\u0000~\u0000\u0087q\u0000"
++"~\u0000yq\u0000~\u0000kq\u0000~\u0000]q\u0000~\u0000Oq\u0000~\u0000\u001dq\u0000~\u0000\u00bfq\u0000~\u0000\u00cdq\u0000~\u0000\u00dbq\u0000~\u0000\nq\u0000~\u0000Kq\u0000~\u0000\u0017q\u0000~\u0000\u00afq\u0000"
++"~\u0000\u00a1q\u0000~\u0000\u0093q\u0000~\u0000\u0085q\u0000~\u0000wq\u0000~\u0000iq\u0000~\u0000[q\u0000~\u0000Mq\u0000~\u0000\u001bq\u0000~\u0000\u00bdq\u0000~\u0000\u00cbq\u0000~\u0000\u00d9q\u0000~\u0000\fq\u0000"
++"~\u0000\u000fq\u0000~\u0000\u0010q\u0000~\u0000\u0012x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.Ui))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiImpl target = ((magoffin.matt.ieat.domain.impl.UiImpl) obj);
+        {
+            java.util.List value = this.getEthnicity();
+            java.util.List targetValue = target.getEthnicity();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getPrepTime();
+            java.util.List targetValue = target.getPrepTime();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRecipe();
+            java.util.List targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getDifficulty();
+            java.util.List targetValue = target.getDifficulty();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getMeal();
+            java.util.List targetValue = target.getMeal();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiMetaSupport value = this.getMetaSupport();
+            magoffin.matt.ieat.domain.UiMetaSupport targetValue = target.getMetaSupport();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            magoffin.matt.ieat.domain.UiSearchResults targetValue = target.getSearchResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getCourse();
+            java.util.List targetValue = target.getCourse();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getUnit();
+            java.util.List targetValue = target.getUnit();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getBase();
+            java.util.List targetValue = target.getBase();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getSystem();
+            java.util.List targetValue = target.getSystem();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getEthnicity();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getPrepTime();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getDifficulty();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getMeal();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiMetaSupport value = this.getMetaSupport();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiSearchResults value = this.getSearchResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getCourse();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getUnit();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getBase();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getSystem();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("search-results" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("meta-support" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("base" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("course" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("difficulty" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("ethnicity" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("prep-time" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("system" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("unit" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("meal" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        if (("ui" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("ui" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, ___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiDataImpl)magoffin.matt.ieat.domain.impl.UiImpl.this).new Unmarshaller(context)), 2, value);
+                            return ;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 867 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiIndexImpl.java

@@ -0,0 +1,867 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiIndexImpl implements magoffin.matt.ieat.domain.UiIndex, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected com.sun.xml.bind.util.ListImpl _IndexSection;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiIndex.class);
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getIndexSection() {
+        if (_IndexSection == null) {
+            _IndexSection = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _IndexSection;
+    }
+
+    public java.util.List getIndexSection() {
+        return _getIndexSection();
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiIndexImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_IndexSection == null)? 0 :_IndexSection.size());
+        while (idx1 != len1) {
+            context.startElement("http://msqr.us/xsd/ieat", "index-section");
+            int idx_0 = idx1;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _IndexSection.get(idx_0 ++)), "IndexSection");
+            context.endNamespaceDecls();
+            int idx_1 = idx1;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _IndexSection.get(idx_1 ++)), "IndexSection");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _IndexSection.get(idx1 ++)), "IndexSection");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_IndexSection == null)? 0 :_IndexSection.size());
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_IndexSection == null)? 0 :_IndexSection.size());
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiIndex.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun."
++"msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gramm"
++"ar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expression"
++"\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000bex"
++"pandedExpq\u0000~\u0000\u0002xpppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002x"
++"q\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000\'com.sun"
++".msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLc"
++"om/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.Element"
++"Exp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000"
++"~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\np\u0000sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u0000\u0001ppsq\u0000~\u0000\u000bpp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0006q\u0000~\u0000\npsr\u0000 com.sun.msv.gramm"
++"ar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\fxq\u0000~\u0000\u0003"
++"q\u0000~\u0000\npsr\u00002com.sun.msv.grammar.Expression$AnyStringExpression"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\t\u0001q\u0000~\u0000\u0017sr\u0000 com.sun.msv.grammar.AnyName"
++"Class\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xpsr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u0018q\u0000~\u0000\u001dsr\u0000#com.sun.msv.grammar.SimpleNameClass"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq"
++"\u0000~\u0000\u001fxq\u0000~\u0000\u001at\u00002magoffin.matt.ieat.domain.UiIndex.IndexSectionT"
++"ypet\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u0000ppsq\u0000"
++"~\u0000\u0014q\u0000~\u0000\npsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fL"
++"org/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/s"
++"un/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd."
++"QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtom"
++"icType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000\u001fL\u0000\btypeNameq\u0000~\u0000\u001fL\u0000\nwhiteSpacet\u0000.Lcom/"
++"sun/msv/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3."
++"org/2001/XMLSchemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.White"
++"SpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.x"
++"sd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.E"
++"xpression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.ms"
++"v.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001fL\u0000\fnamespaceURI"
++"q\u0000~\u0000\u001fxpq\u0000~\u00000q\u0000~\u0000/sq\u0000~\u0000\u001et\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLS"
++"chema-instanceq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\rindex-sectiont\u0000\u0017http://msqr.us/x"
++"sd/ieatq\u0000~\u0000\u001dsr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHas"
++"h;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed"
++"\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar"
++"/ExpressionPool;xp\u0000\u0000\u0000\u0006\u0001pq\u0000~\u0000\u0010q\u0000~\u0000\u0005q\u0000~\u0000\u0012q\u0000~\u0000\bq\u0000~\u0000\u0013q\u0000~\u0000#x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiIndex))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiIndexImpl target = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) obj);
+        {
+            java.util.List value = this.getIndexSection();
+            java.util.List targetValue = target.getIndexSection();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getIndexSection();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public static class IndexSectionTypeImpl implements magoffin.matt.ieat.domain.UiIndex.IndexSectionType, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+    {
+
+        private final static long serialVersionUID = 200905041L;
+        protected java.lang.String _IndexKey;
+        protected java.lang.Integer _Count;
+        protected boolean has_Selected;
+        protected boolean _Selected;
+        public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+        private static com.sun.msv.grammar.Grammar schemaFragment;
+
+        private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+            return (magoffin.matt.ieat.domain.UiIndex.IndexSectionType.class);
+        }
+
+        public java.lang.String getIndexKey() {
+            return _IndexKey;
+        }
+
+        public void setIndexKey(java.lang.String value) {
+            _IndexKey = value;
+        }
+
+        public java.lang.Integer getCount() {
+            if (_Count == null) {
+                return new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.DatatypeConverterImpl.installHook("0"))));
+            } else {
+                return _Count;
+            }
+        }
+
+        public void setCount(java.lang.Integer value) {
+            _Count = value;
+        }
+
+        public boolean isSelected() {
+            if (!has_Selected) {
+                return javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.DatatypeConverterImpl.installHook("false"));
+            } else {
+                return _Selected;
+            }
+        }
+
+        public void setSelected(boolean value) {
+            _Selected = value;
+            has_Selected = true;
+        }
+
+        public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            return new magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl.Unmarshaller(context);
+        }
+
+        public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+            throws org.xml.sax.SAXException
+        {
+        }
+
+        public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+            throws org.xml.sax.SAXException
+        {
+            if (_Count!= null) {
+                context.startAttribute("", "count");
+                try {
+                    context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _Count).intValue())), "Count");
+                } catch (java.lang.Exception e) {
+                    magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+                }
+                context.endAttribute();
+            }
+            context.startAttribute("", "index-key");
+            try {
+                context.text(((java.lang.String) _IndexKey), "IndexKey");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+            if (has_Selected) {
+                context.startAttribute("", "selected");
+                try {
+                    context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _Selected)), "Selected");
+                } catch (java.lang.Exception e) {
+                    magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+                }
+                context.endAttribute();
+            }
+        }
+
+        public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+            throws org.xml.sax.SAXException
+        {
+        }
+
+        public java.lang.Class getPrimaryInterface() {
+            return (magoffin.matt.ieat.domain.UiIndex.IndexSectionType.class);
+        }
+
+        public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+            if (schemaFragment == null) {
+                schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceEx"
++"p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameCl"
++"ass;xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000\u001bco"
++"m.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/dat"
++"atype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/Str"
++"ingPair;xq\u0000~\u0000\u0003ppsr\u0000 com.sun.msv.datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000"
++"\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/xsd/XSDatatypeImpl;xr"
++"\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%c"
++"om.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.m"
++"sv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012L"
++"java/lang/String;L\u0000\btypeNameq\u0000~\u0000\u0018L\u0000\nwhiteSpacet\u0000.Lcom/sun/ms"
++"v/datatype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/20"
++"01/XMLSchemat\u0000\u0003intsr\u00005com.sun.msv.datatype.xsd.WhiteSpacePro"
++"cessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.White"
++"SpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u0000*com.sun.msv.datatype.xsd.MaxI"
++"nclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype.xsd.RangeFa"
++"cet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/Object;xr\u00009com.sun."
++"msv.datatype.xsd.DataTypeWithValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000"
++"xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\f"
++"isFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTypeq\u0000~\u0000\u0014L\u0000\fconcrete"
++"Typet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteType;L\u0000\tfacetNameq\u0000"
++"~\u0000\u0018xq\u0000~\u0000\u0017ppq\u0000~\u0000\u001f\u0000\u0001sr\u0000*com.sun.msv.datatype.xsd.MinInclusiveF"
++"acet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000!ppq\u0000~\u0000\u001f\u0000\u0000sr\u0000!com.sun.msv.datatype.xsd.L"
++"ongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0013q\u0000~\u0000\u001bt\u0000\u0004longq\u0000~\u0000\u001fsq\u0000~\u0000 ppq\u0000~\u0000\u001f\u0000\u0001sq\u0000~"
++"\u0000\'ppq\u0000~\u0000\u001f\u0000\u0000sr\u0000$com.sun.msv.datatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u0000\u0013q\u0000~\u0000\u001bt\u0000\u0007integerq\u0000~\u0000\u001fsr\u0000,com.sun.msv.datatype.xsd.Fra"
++"ctionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com.sun.msv.datatype."
++"xsd.DataTypeWithLexicalConstraintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000$ppq\u0000~"
++"\u0000\u001f\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0015"
++"q\u0000~\u0000\u001bt\u0000\u0007decimalq\u0000~\u0000\u001fq\u0000~\u00005t\u0000\u000efractionDigits\u0000\u0000\u0000\u0000q\u0000~\u0000/t\u0000\fminInc"
++"lusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Num"
++"ber\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000/t\u0000\fmaxInclusivesq\u0000~\u00009\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000"
++"~\u0000*q\u0000~\u00008sr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000:\u0080\u0000\u0000\u0000q\u0000"
++"~\u0000*q\u0000~\u0000<sq\u0000~\u0000>\u007f\u00ff\u00ff\u00ffsr\u00000com.sun.msv.grammar.Expression$NullSet"
++"Expression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair"
++"\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0018L\u0000\fnamespaceURIq\u0000~\u0000\u0018xpq\u0000~\u0000\u001cq\u0000~\u0000\u001b"
++"sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNa"
++"meq\u0000~\u0000\u0018L\u0000\fnamespaceURIq\u0000~\u0000\u0018xr\u0000\u001dcom.sun.msv.grammar.NameClass"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0005countt\u0000\u0000sr\u00000com.sun.msv.grammar.Expression$E"
++"psilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\f\u0001q\u0000~\u0000Ksq\u0000~\u0000\tppsq\u0000~\u0000\u000ep"
++"psr\u0000#com.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwa"
++"ysValidxq\u0000~\u0000\u0015q\u0000~\u0000\u001bt\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.Whit"
++"eSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001e\u0001q\u0000~\u0000Bsq\u0000~\u0000Cq\u0000~\u0000Qq\u0000"
++"~\u0000\u001bsq\u0000~\u0000Et\u0000\tindex-keyq\u0000~\u0000Isq\u0000~\u0000\u0007ppsq\u0000~\u0000\tq\u0000~\u0000\rpsq\u0000~\u0000\u000eppsr\u0000$co"
++"m.sun.msv.datatype.xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0015q\u0000~\u0000\u001bt\u0000\u0007b"
++"ooleanq\u0000~\u0000\u001fq\u0000~\u0000Bsq\u0000~\u0000Cq\u0000~\u0000\\q\u0000~\u0000\u001bsq\u0000~\u0000Et\u0000\bselectedq\u0000~\u0000Iq\u0000~\u0000Ks"
++"r\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet"
++"\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.s"
++"un.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB"
++"\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPo"
++"ol;xp\u0000\u0000\u0000\u0004\u0001pq\u0000~\u0000\u0006q\u0000~\u0000\bq\u0000~\u0000\u0005q\u0000~\u0000Wx"));
+            }
+            return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+        }
+
+        public boolean equals(java.lang.Object obj) {
+            if (this == obj) {
+                return true;
+            }
+            if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiIndex.IndexSectionType))) {
+                return false;
+            }
+            magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl target = ((magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl) obj);
+            {
+                java.lang.String value = this.getIndexKey();
+                java.lang.String targetValue = target.getIndexKey();
+                if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                    return false;
+                }
+            }
+            {
+                java.lang.Integer value = this.getCount();
+                java.lang.Integer targetValue = target.getCount();
+                if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                    return false;
+                }
+            }
+            {
+                boolean value = this.isSelected();
+                boolean targetValue = target.isSelected();
+                if (value!= targetValue) {
+                    return false;
+                }
+            }
+            return true;
+        }
+
+        public int hashCode() {
+            int hash = 7;
+            {
+                java.lang.String value = this.getIndexKey();
+                hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+            }
+            {
+                java.lang.Integer value = this.getCount();
+                hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+            }
+            {
+                boolean value = this.isSelected();
+                hash = ((31 *hash)+(value? 1 : 0));
+            }
+            return hash;
+        }
+
+        public class Unmarshaller
+            extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+        {
+
+
+            public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+                super(context, "----------");
+            }
+
+            protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+                this(context);
+                state = startState;
+            }
+
+            public java.lang.Object owner() {
+                return magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl.this;
+            }
+
+            public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+                throws org.xml.sax.SAXException
+            {
+                int attIdx;
+                outer:
+                while (true) {
+                    switch (state) {
+                        case  9 :
+                            revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "selected");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  0 :
+                            attIdx = context.getAttribute("", "count");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            attIdx = context.getAttribute("", "index-key");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            break;
+                    }
+                    super.enterElement(___uri, ___local, ___qname, __atts);
+                    break;
+                }
+            }
+
+            private void eatText1(final java.lang.String value)
+                throws org.xml.sax.SAXException
+            {
+                try {
+                    _Selected = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                    has_Selected = true;
+                } catch (java.lang.Exception e) {
+                    handleParseConversionException(e);
+                }
+            }
+
+            private void eatText2(final java.lang.String value)
+                throws org.xml.sax.SAXException
+            {
+                try {
+                    _Count = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+                } catch (java.lang.Exception e) {
+                    handleParseConversionException(e);
+                }
+            }
+
+            private void eatText3(final java.lang.String value)
+                throws org.xml.sax.SAXException
+            {
+                try {
+                    _IndexKey = value;
+                } catch (java.lang.Exception e) {
+                    handleParseConversionException(e);
+                }
+            }
+
+            public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+                throws org.xml.sax.SAXException
+            {
+                int attIdx;
+                outer:
+                while (true) {
+                    switch (state) {
+                        case  9 :
+                            revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "selected");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  0 :
+                            attIdx = context.getAttribute("", "count");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            attIdx = context.getAttribute("", "index-key");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            break;
+                    }
+                    super.leaveElement(___uri, ___local, ___qname);
+                    break;
+                }
+            }
+
+            public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+                throws org.xml.sax.SAXException
+            {
+                int attIdx;
+                outer:
+                while (true) {
+                    switch (state) {
+                        case  9 :
+                            revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                            return ;
+                        case  6 :
+                            if (("selected" == ___local)&&("" == ___uri)) {
+                                state = 7;
+                                return ;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  0 :
+                            if (("count" == ___local)&&("" == ___uri)) {
+                                state = 1;
+                                return ;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            if (("index-key" == ___local)&&("" == ___uri)) {
+                                state = 4;
+                                return ;
+                            }
+                            break;
+                    }
+                    super.enterAttribute(___uri, ___local, ___qname);
+                    break;
+                }
+            }
+
+            public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+                throws org.xml.sax.SAXException
+            {
+                int attIdx;
+                outer:
+                while (true) {
+                    switch (state) {
+                        case  2 :
+                            if (("count" == ___local)&&("" == ___uri)) {
+                                state = 3;
+                                return ;
+                            }
+                            break;
+                        case  9 :
+                            revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        case  6 :
+                            attIdx = context.getAttribute("", "selected");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 9;
+                            continue outer;
+                        case  8 :
+                            if (("selected" == ___local)&&("" == ___uri)) {
+                                state = 9;
+                                return ;
+                            }
+                            break;
+                        case  0 :
+                            attIdx = context.getAttribute("", "count");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            attIdx = context.getAttribute("", "index-key");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            break;
+                        case  5 :
+                            if (("index-key" == ___local)&&("" == ___uri)) {
+                                state = 6;
+                                return ;
+                            }
+                            break;
+                    }
+                    super.leaveAttribute(___uri, ___local, ___qname);
+                    break;
+                }
+            }
+
+            public void handleText(final java.lang.String value)
+                throws org.xml.sax.SAXException
+            {
+                int attIdx;
+                outer:
+                while (true) {
+                    try {
+                        switch (state) {
+                            case  9 :
+                                revertToParentFromText(value);
+                                return ;
+                            case  4 :
+                                state = 5;
+                                eatText3(value);
+                                return ;
+                            case  6 :
+                                attIdx = context.getAttribute("", "selected");
+                                if (attIdx >= 0) {
+                                    final java.lang.String v = context.eatAttribute(attIdx);
+                                    state = 9;
+                                    eatText1(v);
+                                    continue outer;
+                                }
+                                state = 9;
+                                continue outer;
+                            case  1 :
+                                state = 2;
+                                eatText2(value);
+                                return ;
+                            case  7 :
+                                state = 8;
+                                eatText1(value);
+                                return ;
+                            case  0 :
+                                attIdx = context.getAttribute("", "count");
+                                if (attIdx >= 0) {
+                                    final java.lang.String v = context.eatAttribute(attIdx);
+                                    state = 3;
+                                    eatText2(v);
+                                    continue outer;
+                                }
+                                state = 3;
+                                continue outer;
+                            case  3 :
+                                attIdx = context.getAttribute("", "index-key");
+                                if (attIdx >= 0) {
+                                    final java.lang.String v = context.eatAttribute(attIdx);
+                                    state = 6;
+                                    eatText3(v);
+                                    continue outer;
+                                }
+                                break;
+                        }
+                    } catch (java.lang.RuntimeException e) {
+                        handleUnexpectedTextException(value, e);
+                    }
+                    break;
+                }
+            }
+
+        }
+
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiIndexImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("index-section" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  1 :
+                        attIdx = context.getAttribute("", "count");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "index-key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        if (("index-section" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 1;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  1 :
+                        attIdx = context.getAttribute("", "count");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "index-key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("index-section" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  1 :
+                        if (("count" == ___local)&&("" == ___uri)) {
+                            _getIndexSection().add(((magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl.class), 2, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("index-key" == ___local)&&("" == ___uri)) {
+                            _getIndexSection().add(((magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiIndexImpl.IndexSectionTypeImpl.class), 2, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  1 :
+                        attIdx = context.getAttribute("", "count");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "index-key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            state = 3;
+                            continue outer;
+                        case  1 :
+                            attIdx = context.getAttribute("", "count");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "index-key");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 314 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiIngredientMatchImpl.java

@@ -0,0 +1,314 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiIngredientMatchImpl
+    extends magoffin.matt.ieat.domain.impl.IngredientImpl
+    implements magoffin.matt.ieat.domain.UiIngredientMatch, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiIngredientMatch.class);
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeBody(context);
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeAttributes(context);
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeURIs(context);
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiIngredientMatch.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\'com.sun.msv.grammar.trex.Ele"
++"mentPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/Na"
++"meClass;xr\u0000\u001ecom.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aigno"
++"reUndeclaredAttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000pps"
++"r\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxn"
++"g/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/uti"
++"l/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.datatype.xsd.StringType"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun.msv.datatype.xsd.Buil"
++"tinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.Concret"
++"eType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeNameq\u0000~"
++"\u0000\u0014L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpaceProces"
++"sor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0006stringsr\u00005com.su"
++"n.msv.datatype.xsd.WhiteSpaceProcessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr"
++"\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001"
++"sr\u00000com.sun.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tloca"
++"lNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xpq\u0000~\u0000\u0018q\u0000~\u0000\u0017sr\u0000\u001dcom.sun.msv.gr"
++"ammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.At"
++"tributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\bxq\u0000~\u0000\u0003sr\u0000\u0011j"
++"ava.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psq\u0000~\u0000\fppsr\u0000\"com.sun.m"
++"sv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0005QNamesr\u00005c"
++"om.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000)q\u0000~\u0000\u0017sr\u0000#com.sun.msv.grammar.Simple"
++"NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u0014L\u0000\fnamespaceURIq\u0000~\u0000\u0014xr\u0000"
++"\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://"
++"www.w3.org/2001/XMLSchema-instancesr\u00000com.sun.msv.grammar.Ex"
++"pression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000$\u0001q\u0000~\u00003sq\u0000~\u0000"
++"-t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ieatsq\u0000~\u0000 ppsq\u0000~\u0000\u0007q\u0000~\u0000%p\u0000sq\u0000~\u0000"
++"\u0000ppq\u0000~\u0000\u000fsq\u0000~\u0000 ppsq\u0000~\u0000\"q\u0000~\u0000%pq\u0000~\u0000&q\u0000~\u0000/q\u0000~\u00003sq\u0000~\u0000-t\u0000\u000bdescript"
++"ionq\u0000~\u00007q\u0000~\u00003sq\u0000~\u0000 ppsq\u0000~\u0000\"q\u0000~\u0000%psq\u0000~\u0000\fppsr\u0000 com.sun.msv.dat"
++"atype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.Int"
++"egerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datat"
++"ype/xsd/XSDatatypeImpl;xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0003intq\u0000~\u0000+sr\u0000*com.sun.msv"
++".datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.da"
++"tatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/O"
++"bject;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueConstrai"
++"ntFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithF"
++"acet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTy"
++"peq\u0000~\u0000DL\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteT"
++"ype;L\u0000\tfacetNameq\u0000~\u0000\u0014xq\u0000~\u0000\u0013ppq\u0000~\u0000+\u0000\u0001sr\u0000*com.sun.msv.datatype"
++".xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Hppq\u0000~\u0000+\u0000\u0000sr\u0000!com.sun."
++"msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u0017t\u0000\u0004longq\u0000~\u0000+s"
++"q\u0000~\u0000Gppq\u0000~\u0000+\u0000\u0001sq\u0000~\u0000Nppq\u0000~\u0000+\u0000\u0000sr\u0000$com.sun.msv.datatype.xsd.In"
++"tegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000Cq\u0000~\u0000\u0017t\u0000\u0007integerq\u0000~\u0000+sr\u0000,com.sun.ms"
++"v.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000;com"
++".sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFacetT\u0090\u001c>"
++"\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000Kppq\u0000~\u0000+\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.NumberTyp"
++"e\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0011q\u0000~\u0000\u0017t\u0000\u0007decimalq\u0000~\u0000+q\u0000~\u0000\\t\u0000\u000efractionDigits"
++"\u0000\u0000\u0000\u0000q\u0000~\u0000Vt\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valu"
++"exr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000Vt\u0000\fmaxInclusi"
++"vesq\u0000~\u0000`\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000Qq\u0000~\u0000_sr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000"
++"\u0005valuexq\u0000~\u0000a\u0080\u0000\u0000\u0000q\u0000~\u0000Qq\u0000~\u0000csq\u0000~\u0000e\u007f\u00ff\u00ff\u00ffq\u0000~\u0000\u001dsq\u0000~\u0000\u001eq\u0000~\u0000Fq\u0000~\u0000\u0017sq\u0000"
++"~\u0000-t\u0000\fingredientIdt\u0000\u0000q\u0000~\u00003sr\u0000\"com.sun.msv.grammar.Expression"
++"Pool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expression"
++"Pool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$Clo"
++"sedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/s"
++"un/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\b\u0001pq\u0000~\u0000\u000bq\u0000~\u0000:q\u0000~\u0000\u0006q\u0000~\u00008q\u0000"
++"~\u0000?q\u0000~\u0000\u0005q\u0000~\u0000!q\u0000~\u0000;x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiIngredientMatch))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl target = ((magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl) obj);
+        {
+            java.lang.String value = this.getDescription();
+            java.lang.String targetValue = target.getDescription();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getIngredientId();
+            java.lang.Integer targetValue = target.getIngredientId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getDescription();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getIngredientId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "--");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.IngredientImpl)magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.IngredientImpl)magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 328 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiMetaSupportImpl.java

@@ -0,0 +1,328 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiMetaSupportImpl implements magoffin.matt.ieat.domain.UiMetaSupport, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected com.sun.xml.bind.util.ListImpl _Meta;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiMetaSupport.class);
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getMeta() {
+        if (_Meta == null) {
+            _Meta = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Meta;
+    }
+
+    public java.util.List getMeta() {
+        return _getMeta();
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Meta == null)? 0 :_Meta.size());
+        while (idx1 != len1) {
+            context.startElement("http://msqr.us/xsd/ieat", "meta");
+            int idx_0 = idx1;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Meta.get(idx_0 ++)), "Meta");
+            context.endNamespaceDecls();
+            int idx_1 = idx1;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Meta.get(idx_1 ++)), "Meta");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Meta.get(idx1 ++)), "Meta");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Meta == null)? 0 :_Meta.size());
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx1 = 0;
+        final int len1 = ((_Meta == null)? 0 :_Meta.size());
+        while (idx1 != len1) {
+            idx1 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiMetaSupport.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun."
++"msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gramm"
++"ar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expression"
++"\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000bex"
++"pandedExpq\u0000~\u0000\u0002xpppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002x"
++"q\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000\'com.sun"
++".msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLc"
++"om/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.Element"
++"Exp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModelq\u0000"
++"~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\np\u0000sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0000xq\u0000~\u0000\u0001ppsq\u0000~\u0000\u000bpp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0006q\u0000~\u0000\npsr\u0000 com.sun.msv.gramm"
++"ar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\fxq\u0000~\u0000\u0003"
++"q\u0000~\u0000\npsr\u00002com.sun.msv.grammar.Expression$AnyStringExpression"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\t\u0001q\u0000~\u0000\u0017sr\u0000 com.sun.msv.grammar.AnyName"
++"Class\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xpsr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u0018q\u0000~\u0000\u001dsr\u0000#com.sun.msv.grammar.SimpleNameClass"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq"
++"\u0000~\u0000\u001fxq\u0000~\u0000\u001at\u0000%magoffin.matt.ieat.domain.UiParametert\u0000+http://"
++"java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0014q\u0000~\u0000\npsr\u0000\u001b"
++"com.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/d"
++"atatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/S"
++"tringPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'"
++"com.sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespa"
++"ceUriq\u0000~\u0000\u001fL\u0000\btypeNameq\u0000~\u0000\u001fL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datat"
++"ype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLS"
++"chemat\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcesso"
++"r$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpace"
++"Processor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$Nul"
++"lSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.String"
++"Pair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001fL\u0000\fnamespaceURIq\u0000~\u0000\u001fxpq\u0000~\u00000q"
++"\u0000~\u0000/sq\u0000~\u0000\u001et\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instanc"
++"eq\u0000~\u0000\u001dsq\u0000~\u0000\u001et\u0000\u0004metat\u0000\u0017http://msqr.us/xsd/ieatq\u0000~\u0000\u001dsr\u0000\"com.su"
++"n.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/su"
++"n/msv/grammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.gr"
++"ammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamV"
++"ersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0006"
++"\u0001pq\u0000~\u0000\u0010q\u0000~\u0000\u0005q\u0000~\u0000\u0012q\u0000~\u0000\bq\u0000~\u0000\u0013q\u0000~\u0000#x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiMetaSupport))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiMetaSupportImpl target = ((magoffin.matt.ieat.domain.impl.UiMetaSupportImpl) obj);
+        {
+            java.util.List value = this.getMeta();
+            java.util.List targetValue = target.getMeta();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getMeta();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiMetaSupportImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("meta" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        if (("meta" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 1;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  1 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  2 :
+                        if (("meta" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        if (("key" == ___local)&&("" == ___uri)) {
+                            _getMeta().add(((magoffin.matt.ieat.domain.impl.UiParameterImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiParameterImpl.class), 2, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  1 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            attIdx = context.getAttribute("", "key");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 538 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiPaginationSupportImpl.java

@@ -0,0 +1,538 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiPaginationSupportImpl implements magoffin.matt.ieat.domain.UiPaginationSupport, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.Integer _DefaultPageSize;
+    protected boolean has_AllowUnlimited;
+    protected boolean _AllowUnlimited;
+    protected com.sun.xml.bind.util.ListImpl _AllowablePageSize;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiPaginationSupport.class);
+    }
+
+    public java.lang.Integer getDefaultPageSize() {
+        return _DefaultPageSize;
+    }
+
+    public void setDefaultPageSize(java.lang.Integer value) {
+        _DefaultPageSize = value;
+    }
+
+    public boolean isAllowUnlimited() {
+        if (!has_AllowUnlimited) {
+            return javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.DatatypeConverterImpl.installHook("false"));
+        } else {
+            return _AllowUnlimited;
+        }
+    }
+
+    public void setAllowUnlimited(boolean value) {
+        _AllowUnlimited = value;
+        has_AllowUnlimited = true;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getAllowablePageSize() {
+        if (_AllowablePageSize == null) {
+            _AllowablePageSize = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _AllowablePageSize;
+    }
+
+    public java.util.List getAllowablePageSize() {
+        return _getAllowablePageSize();
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx3 = 0;
+        final int len3 = ((_AllowablePageSize == null)? 0 :_AllowablePageSize.size());
+        while (idx3 != len3) {
+            context.startElement("http://msqr.us/xsd/ieat", "allowablePageSize");
+            int idx_0 = idx3;
+            try {
+                idx_0 += 1;
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endNamespaceDecls();
+            int idx_1 = idx3;
+            try {
+                idx_1 += 1;
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttributes();
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _AllowablePageSize.get(idx3 ++)).intValue())), "AllowablePageSize");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx3 = 0;
+        final int len3 = ((_AllowablePageSize == null)? 0 :_AllowablePageSize.size());
+        if (has_AllowUnlimited) {
+            context.startAttribute("", "allowUnlimited");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _AllowUnlimited)), "AllowUnlimited");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        context.startAttribute("", "defaultPageSize");
+        try {
+            context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _DefaultPageSize).intValue())), "DefaultPageSize");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+        while (idx3 != len3) {
+            try {
+                idx3 += 1;
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx3 = 0;
+        final int len3 = ((_AllowablePageSize == null)? 0 :_AllowablePageSize.size());
+        while (idx3 != len3) {
+            try {
+                idx3 += 1;
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiPaginationSupport.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceEx"
++"p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000"
++"\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000psr\u0000\'com.s"
++"un.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001f"
++"Lcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.Eleme"
++"ntExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentModel"
++"q\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\rp\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000"
++"\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000 com.sun."
++"msv.datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype."
++"xsd.IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/ms"
++"v/datatype/xsd/XSDatatypeImpl;xr\u0000*com.sun.msv.datatype.xsd.B"
++"uiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv.datatype.xsd.Conc"
++"reteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatype.xsd.XSDatatypeIm"
++"pl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/String;L\u0000\btypeName"
++"q\u0000~\u0000\u001dL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/WhiteSpacePro"
++"cessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0003intsr\u00005com.su"
++"n.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr"
++"\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xps"
++"r\u0000*com.sun.msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#"
++"com.sun.msv.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet"
++"\u0000\u0012Ljava/lang/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWit"
++"hValueConstraintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd"
++".DataTypeWithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueChec"
++"kFlagL\u0000\bbaseTypeq\u0000~\u0000\u0019L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype"
++"/xsd/ConcreteType;L\u0000\tfacetNameq\u0000~\u0000\u001dxq\u0000~\u0000\u001cppq\u0000~\u0000$\u0000\u0001sr\u0000*com.su"
++"n.msv.datatype.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000&ppq\u0000~\u0000$"
++"\u0000\u0000sr\u0000!com.sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0018q\u0000~\u0000"
++" t\u0000\u0004longq\u0000~\u0000$sq\u0000~\u0000%ppq\u0000~\u0000$\u0000\u0001sq\u0000~\u0000,ppq\u0000~\u0000$\u0000\u0000sr\u0000$com.sun.msv.d"
++"atatype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0018q\u0000~\u0000 t\u0000\u0007integerq\u0000~\u0000$"
++"sr\u0000,com.sun.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I"
++"\u0000\u0005scalexr\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConst"
++"raintFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000)ppq\u0000~\u0000$\u0001\u0000sr\u0000#com.sun.msv.datatype"
++".xsd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000 t\u0000\u0007decimalq\u0000~\u0000$q\u0000~\u0000:t\u0000\u000e"
++"fractionDigits\u0000\u0000\u0000\u0000q\u0000~\u00004t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090"
++"\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000"
++"4t\u0000\fmaxInclusivesq\u0000~\u0000>\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000/q\u0000~\u0000=sr\u0000\u0011java.lang.Intege"
++"r\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000?\u0080\u0000\u0000\u0000q\u0000~\u0000/q\u0000~\u0000Asq\u0000~\u0000C\u007f\u00ff\u00ff\u00ffsr\u00000com.su"
++"n.msv.grammar.Expression$NullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003p"
++"psr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001d"
++"L\u0000\fnamespaceURIq\u0000~\u0000\u001dxpq\u0000~\u0000!q\u0000~\u0000 sq\u0000~\u0000\u0007ppsr\u0000 com.sun.msv.gram"
++"mar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\u000fxq\u0000~\u0000"
++"\u0003q\u0000~\u0000\rpsq\u0000~\u0000\u0013ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000 t\u0000\u0005QNameq\u0000~\u0000$q\u0000~\u0000Gsq\u0000~\u0000Hq\u0000~\u0000Pq\u0000~\u0000 sr\u0000#com.sun"
++".msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001dL\u0000\fn"
++"amespaceURIq\u0000~\u0000\u001dxr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xpt\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instancesr\u00000com"
++".sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~"
++"\u0000\u0003sq\u0000~\u0000\f\u0001q\u0000~\u0000Xsq\u0000~\u0000Rt\u0000\u0011allowablePageSizet\u0000\u0017http://msqr.us/xs"
++"d/ieatq\u0000~\u0000Xsq\u0000~\u0000\u0007ppsq\u0000~\u0000Kq\u0000~\u0000\rpsq\u0000~\u0000\u0013ppsr\u0000$com.sun.msv.datat"
++"ype.xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u001aq\u0000~\u0000 t\u0000\u0007booleanq\u0000~\u0000$q\u0000~\u0000"
++"Gsq\u0000~\u0000Hq\u0000~\u0000bq\u0000~\u0000 sq\u0000~\u0000Rt\u0000\u000eallowUnlimitedt\u0000\u0000q\u0000~\u0000Xsq\u0000~\u0000Kppq\u0000~\u0000"
++"\u0016sq\u0000~\u0000Rt\u0000\u000fdefaultPageSizeq\u0000~\u0000fsr\u0000\"com.sun.msv.grammar.Expres"
++"sionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/Expres"
++"sionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool"
++"$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lc"
++"om/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0007\u0001pq\u0000~\u0000\bq\u0000~\u0000\u0012q\u0000~\u0000\u000bq\u0000~"
++"\u0000]q\u0000~\u0000\u0005q\u0000~\u0000\u0006q\u0000~\u0000Jx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiPaginationSupport))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl target = ((magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl) obj);
+        {
+            java.lang.Integer value = this.getDefaultPageSize();
+            java.lang.Integer targetValue = target.getDefaultPageSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isAllowUnlimited();
+            boolean targetValue = target.isAllowUnlimited();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getAllowablePageSize();
+            java.util.List targetValue = target.getAllowablePageSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.Integer value = this.getDefaultPageSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isAllowUnlimited();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        {
+            java.util.List value = this.getAllowablePageSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "----------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  9 :
+                        if (("allowablePageSize" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 7;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  3 :
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        break;
+                    case  6 :
+                        if (("allowablePageSize" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, true);
+                            state = 7;
+                            return ;
+                        }
+                        state = 9;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _AllowUnlimited = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_AllowUnlimited = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _DefaultPageSize = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  9 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  8 :
+                        if (("allowablePageSize" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        break;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        if (("allowUnlimited" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  9 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  3 :
+                        if (("defaultPageSize" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  0 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  9 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("allowUnlimited" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  5 :
+                        if (("defaultPageSize" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        break;
+                    case  6 :
+                        state = 9;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  0 :
+                            attIdx = context.getAttribute("", "allowUnlimited");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  7 :
+                            state = 8;
+                            eatText3(value);
+                            return ;
+                        case  9 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            attIdx = context.getAttribute("", "defaultPageSize");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            break;
+                        case  4 :
+                            state = 5;
+                            eatText2(value);
+                            return ;
+                        case  6 :
+                            state = 9;
+                            continue outer;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _getAllowablePageSize().add(new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value))))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 326 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiParameterImpl.java

@@ -0,0 +1,326 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiParameterImpl implements magoffin.matt.ieat.domain.UiParameter, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected java.lang.String _Value;
+    protected java.lang.String _Key;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiParameter.class);
+    }
+
+    public java.lang.String getValue() {
+        return _Value;
+    }
+
+    public void setValue(java.lang.String value) {
+        _Value = value;
+    }
+
+    public java.lang.String getKey() {
+        return _Key;
+    }
+
+    public void setKey(java.lang.String value) {
+        _Key = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiParameterImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        try {
+            context.text(((java.lang.String) _Value), "Value");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        context.startAttribute("", "key");
+        try {
+            context.text(((java.lang.String) _Key), "Key");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiParameter.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002"
++"\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004na"
++"met\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv.da"
++"tatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.sun."
++"msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun.msv"
++".datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.datatyp"
++"e.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/lang/"
++"String;L\u0000\btypeNameq\u0000~\u0000\u000eL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype"
++"/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSche"
++"mat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$"
++"Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$Null"
++"SetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringP"
++"air\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000expq\u0000~\u0000\u0012q\u0000"
++"~\u0000\u0011sr\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000"
++"\u0002L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xq\u0000~\u0000\u0003ppq\u0000~\u0000\t"
++"sr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNa"
++"meq\u0000~\u0000\u000eL\u0000\fnamespaceURIq\u0000~\u0000\u000exr\u0000\u001dcom.sun.msv.grammar.NameClass"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0003keyt\u0000\u0000sr\u0000\"com.sun.msv.grammar.ExpressionPool"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool"
++"$ClosedHash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedH"
++"ash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/m"
++"sv/grammar/ExpressionPool;xp\u0000\u0000\u0000\u0001\u0001pq\u0000~\u0000\u0005x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiParameter))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiParameterImpl target = ((magoffin.matt.ieat.domain.impl.UiParameterImpl) obj);
+        {
+            java.lang.String value = this.getValue();
+            java.lang.String targetValue = target.getValue();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getKey();
+            java.lang.String targetValue = target.getKey();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.lang.String value = this.getValue();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getKey();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiParameterImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Key = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("key" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  4 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  2 :
+                        if (("key" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "key");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  4 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  3 :
+                            state = 4;
+                            eatText2(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "key");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Value = value;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+    }
+
+}

+ 661 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiRecipeMatchImpl.java

@@ -0,0 +1,661 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiRecipeMatchImpl
+    extends magoffin.matt.ieat.domain.impl.RecipeImpl
+    implements magoffin.matt.ieat.domain.UiRecipeMatch, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiRecipeMatch.class);
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeBody(context);
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeAttributes(context);
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        super.serializeURIs(context);
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiRecipeMatch.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~"
++"\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\'com."
++"sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000"
++"\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom.sun.msv.grammar.Elem"
++"entExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttributesL\u0000\fcontentMode"
++"lq\u0000~\u0000\u0002xq\u0000~\u0000\u0003pp\u0000sq\u0000~\u0000\u0000ppsr\u0000\u001bcom.sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000"
++"\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;xq\u0000~\u0000\u0003ppsr\u0000#com.sun.msv"
++".datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValidxr\u0000*com.s"
++"un.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com.sun."
++"msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv.data"
++"type.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUrit\u0000\u0012Ljava/la"
++"ng/String;L\u0000\btypeNameq\u0000~\u0000&L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datat"
++"ype/xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLS"
++"chemat\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcess"
++"or$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpac"
++"eProcessor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xp\u0001sr\u00000com.sun.msv.grammar.Expression$N"
++"ullSetExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.Stri"
++"ngPair\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000&L\u0000\fnamespaceURIq\u0000~\u0000&xpq\u0000~\u0000"
++"*q\u0000~\u0000)sr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr"
++"\u0000 com.sun.msv.grammar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tn"
++"ameClassq\u0000~\u0000\u001axq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuex"
++"p\u0000psq\u0000~\u0000\u001eppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpacePr"
++"ocessor$Collapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000,q\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0000;q\u0000~\u0000)sr\u0000#co"
++"m.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000"
++"&L\u0000\fnamespaceURIq\u0000~\u0000&xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xpt\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instancesr"
++"\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0003sq\u0000~\u00006\u0001q\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004namet\u0000\u0017http://msqr.us/xsd/ieatsq"
++"\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~"
++"\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0007excerptq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000"
++"ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006sourceq\u0000~"
++"\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007"
++"pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\ndirectionsq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q"
++"\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppq\u0000~\u0000!sq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?"
++"t\u0000\u0005imageq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~"
++"\u00002ppsr\u0000 com.sun.msv.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.s"
++"un.msv.grammar.UnaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u00007psq\u0000"
++"~\u00004q\u0000~\u00007psr\u00002com.sun.msv.grammar.Expression$AnyStringExpress"
++"ion\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000Fq\u0000~\u0000psr\u0000 com.sun.msv.grammar.AnyNam"
++"eClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000@q\u0000~\u0000Esq\u0000~\u0000?t\u0000\u001emagoffin.matt.ieat.doma"
++"in.Baset\u0000+http://java.sun.com/jaxb/xjc/dummy-elementssq\u0000~\u00002p"
++"psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004baseq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002pps"
++"q\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007"
++"pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000 magoffin.matt.ieat.domain.Courseq\u0000~"
++"\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006courseq\u0000~\u0000Iq\u0000~"
++"\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007p"
++"sq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000#magoffin.matt.ieat.domai"
++"n.Ethnicityq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\t"
++"ethnicityq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000"
++"~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000$magoffi"
++"n.matt.ieat.domain.Difficultyq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q"
++"\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\ndifficultyq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019q\u0000~\u00007p\u0000s"
++"q\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000"
++"~\u0000Esq\u0000~\u0000?t\u0000\u001emagoffin.matt.ieat.domain.Userq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u0000"
++"4q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0005ownerq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000\u0019"
++"q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000"
++"pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\"magoffin.matt.ieat.domain.PrepTimeq\u0000~\u0000us"
++"q\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\tprep-timeq\u0000~\u0000Iq\u0000~"
++"\u0000Esq\u0000~\u0000\u0019pp\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007p"
++"q\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000 magoffin.matt.ieat.domain.Systemq\u0000~\u0000"
++"usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006systemq\u0000~\u0000Isq\u0000~"
++"\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000k"
++"q\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000*magoffin.matt.ieat"
++".domain.RecipeIngredientq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq"
++"\u0000~\u0000Esq\u0000~\u0000?t\u0000\ningredientq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q"
++"\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000p"
++"q\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\'magoffin.matt.ieat.domain.RelatedRecipeq\u0000"
++"~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u000erelated-recip"
++"eq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp"
++"\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000$mag"
++"offin.matt.ieat.domain.RecipeStepq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000"
++"~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0004stepq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~"
++"\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000"
++"~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000\'magoffin.matt.ieat.domain.RecipeCommen"
++"tq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u00008q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0007commentq\u0000~"
++"\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u0000\u0019q\u0000~\u00007p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0019pp\u0000sq\u0000"
++"~\u00002ppsq\u0000~\u0000kq\u0000~\u00007psq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000pq\u0000~\u0000rq\u0000~\u0000Esq\u0000~\u0000?t\u0000&magoffi"
++"n.matt.ieat.domain.RecipeRatingq\u0000~\u0000usq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0000"
++"8q\u0000~\u0000Aq\u0000~\u0000Esq\u0000~\u0000?t\u0000\u0006ratingq\u0000~\u0000Iq\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~"
++"\u0000\u001eppsr\u0000%com.sun.msv.datatype.xsd.DateTimeType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000)"
++"com.sun.msv.datatype.xsd.DateTimeBaseType\u0014W\u001a@3\u00a5\u00b4\u00e5\u0002\u0000\u0000xq\u0000~\u0000#q\u0000"
++"~\u0000)t\u0000\bdateTimeq\u0000~\u0000=q\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0001\u0013q\u0000~\u0000)sq\u0000~\u0000?t\u0000\u000bcreatedDate"
++"t\u0000\u0000q\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007pq\u0000~\u0001\u000fsq\u0000~\u0000?t\u0000\fmodifiedDateq\u0000~\u0001\u0017q"
++"\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~\u0000\u001eppsr\u0000!com.sun.msv.datatype.xsd"
++".LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd.IntegerDeri"
++"vedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/datatype/xsd/"
++"XSDatatypeImpl;xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0004longq\u0000~\u0000=sr\u0000*com.sun.msv.dataty"
++"pe.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.msv.datatype."
++"xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/lang/Object;x"
++"r\u00009com.sun.msv.datatype.xsd.DataTypeWithValueConstraintFacet"
++"\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeWithFacet\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bbaseTypeq\u0000~\u0001!"
++"L\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/ConcreteType;L\u0000\t"
++"facetNameq\u0000~\u0000&xq\u0000~\u0000%ppq\u0000~\u0000=\u0000\u0001sr\u0000*com.sun.msv.datatype.xsd.Mi"
++"nInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001%ppq\u0000~\u0000=\u0000\u0000sr\u0000$com.sun.msv.dat"
++"atype.xsd.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001 q\u0000~\u0000)t\u0000\u0007integerq\u0000~\u0000=sr"
++"\u0000,com.sun.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005"
++"scalexr\u0000;com.sun.msv.datatype.xsd.DataTypeWithLexicalConstra"
++"intFacetT\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0001(ppq\u0000~\u0000=\u0001\u0000sr\u0000#com.sun.msv.datatype.x"
++"sd.NumberType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000#q\u0000~\u0000)t\u0000\u0007decimalq\u0000~\u0000=q\u0000~\u00014t\u0000\u000efr"
++"actionDigits\u0000\u0000\u0000\u0000q\u0000~\u0001.t\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f"
++"#\u00df\u0002\u0000\u0001J\u0000\u0005valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0001.t"
++"\u0000\fmaxInclusivesq\u0000~\u00018\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000/sq\u0000~\u00000q\u0000~\u0001#q\u0000~\u0000)sq\u0000~\u0000?t\u0000\bre"
++"cipeIdq\u0000~\u0001\u0017q\u0000~\u0000Esq\u0000~\u00002ppsq\u0000~\u00004q\u0000~\u00007psq\u0000~\u0000\u001eppsr\u0000 com.sun.msv."
++"datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0001 q\u0000~\u0000)t\u0000\u0003intq\u0000~\u0000=sq\u0000~\u0001$p"
++"pq\u0000~\u0000=\u0000\u0001sq\u0000~\u0001+ppq\u0000~\u0000=\u0000\u0000q\u0000~\u0001\"q\u0000~\u0001\"q\u0000~\u00017sr\u0000\u0011java.lang.Integer\u0012"
++"\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002\u0000\u0001I\u0000\u0005valuexq\u0000~\u00019\u0080\u0000\u0000\u0000q\u0000~\u0001\"q\u0000~\u0001;sq\u0000~\u0001H\u007f\u00ff\u00ff\u00ffq\u0000~\u0000/sq\u0000~\u00000q"
++"\u0000~\u0001Eq\u0000~\u0000)sq\u0000~\u0000?t\u0000\u000bservingSizeq\u0000~\u0001\u0017q\u0000~\u0000Esr\u0000\"com.sun.msv.gramm"
++"ar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/gramm"
++"ar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.Expre"
++"ssionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006pa"
++"rentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000f\u0001pq\u0000~\u0000\u0012q\u0000~\u0000"
++"aq\u0000~\u0000Zq\u0000~\u0000Sq\u0000~\u0000Lq\u0000~\u0000\u001dq\u0000~\u0000\u0016q\u0000~\u0000\u0015q\u0000~\u0000\u00c7q\u0000~\u0000\u00d5q\u0000~\u0000\u00e3q\u0000~\u0000\u000bq\u0000~\u0000\u00f1q\u0000~\u0000"
++"\u00ffq\u0000~\u0001\u0018q\u0000~\u0000bq\u0000~\u0000[q\u0000~\u0000Tq\u0000~\u0000Mq\u0000~\u00003q\u0000~\u0000\u0013q\u0000~\u0000\u00c3q\u0000~\u0000\u00b7q\u0000~\u0000\u00aaq\u0000~\u0000\u009dq\u0000~\u0000"
++"\u0090q\u0000~\u0000\u0083q\u0000~\u0000vq\u0000~\u0000\u00d1q\u0000~\u0000\u00dfq\u0000~\u0000\u0011q\u0000~\u0000\u00edq\u0000~\u0000\u00fbq\u0000~\u0001\tq\u0000~\u0000\u0014q\u0000~\u0000\u0005q\u0000~\u0000\u0010q\u0000~\u0000"
++"\u00c8q\u0000~\u0000\u00d6q\u0000~\u0000\u00e4q\u0000~\u0000\u00f2q\u0000~\u0001\u0000q\u0000~\u0000\u00bfq\u0000~\u0000\u00b3q\u0000~\u0000\u00a6q\u0000~\u0000\u0099q\u0000~\u0000\u008cq\u0000~\u0000\u007fq\u0000~\u0000mq\u0000~\u0000"
++"\u00cdq\u0000~\u0000\u00dbq\u0000~\u0000\u00e9q\u0000~\u0000\u00f7q\u0000~\u0001\u0005q\u0000~\u0000\nq\u0000~\u0000\u000eq\u0000~\u0000\fq\u0000~\u0000\u00beq\u0000~\u0000\u00b2q\u0000~\u0000\u00a5q\u0000~\u0000\u0098q\u0000~\u0000"
++"\u008bq\u0000~\u0000~q\u0000~\u0000jq\u0000~\u0000\u00ccq\u0000~\u0000\u00daq\u0000~\u0000\u00e8q\u0000~\u0000\u00f6q\u0000~\u0001\u0004q\u0000~\u0000\tq\u0000~\u0000\u00aeq\u0000~\u0000\u00a1q\u0000~\u0000\u0094q\u0000~\u0000"
++"\u0087q\u0000~\u0000zq\u0000~\u0000fq\u0000~\u0001@q\u0000~\u0000\u00b0q\u0000~\u0000\u00a3q\u0000~\u0000\u0096q\u0000~\u0000\u0089q\u0000~\u0000|q\u0000~\u0000hq\u0000~\u0000\u00bcq\u0000~\u0000\u00caq\u0000~\u0000"
++"\u00d8q\u0000~\u0000\u00e6q\u0000~\u0000\u00f4q\u0000~\u0001\u0002q\u0000~\u0000\u0017q\u0000~\u0000\rq\u0000~\u0000\bq\u0000~\u0000\u0007q\u0000~\u0001\rq\u0000~\u0000\u0006q\u0000~\u0000_q\u0000~\u0000Xq\u0000~\u0000"
++"Qq\u0000~\u0000Jq\u0000~\u0001\u001cq\u0000~\u0000\u000fq\u0000~\u0000\u0018x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiRecipeMatch))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl target = ((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) obj);
+        {
+            java.util.List value = this.getComment();
+            java.util.List targetValue = target.getComment();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            magoffin.matt.ieat.domain.User targetValue = target.getOwner();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getDirections();
+            java.lang.String targetValue = target.getDirections();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Difficulty value = this.getDifficulty();
+            magoffin.matt.ieat.domain.Difficulty targetValue = target.getDifficulty();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRating();
+            java.util.List targetValue = target.getRating();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Long value = this.getRecipeId();
+            java.lang.Long targetValue = target.getRecipeId();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRelatedRecipe();
+            java.util.List targetValue = target.getRelatedRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getStep();
+            java.util.List targetValue = target.getStep();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getModifiedDate();
+            java.util.Calendar targetValue = target.getModifiedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getImage();
+            java.lang.String targetValue = target.getImage();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getSource();
+            java.lang.String targetValue = target.getSource();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Base value = this.getBase();
+            magoffin.matt.ieat.domain.Base targetValue = target.getBase();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.System value = this.getSystem();
+            magoffin.matt.ieat.domain.System targetValue = target.getSystem();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getName();
+            java.lang.String targetValue = target.getName();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Ethnicity value = this.getEthnicity();
+            magoffin.matt.ieat.domain.Ethnicity targetValue = target.getEthnicity();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getServingSize();
+            java.lang.Integer targetValue = target.getServingSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.PrepTime value = this.getPrepTime();
+            magoffin.matt.ieat.domain.PrepTime targetValue = target.getPrepTime();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getExcerpt();
+            java.lang.String targetValue = target.getExcerpt();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            java.util.Calendar targetValue = target.getCreatedDate();
+            if (!((value == targetValue)||((value!= null)&&(value.getTime().getTime() == targetValue.getTime().getTime())))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            magoffin.matt.ieat.domain.Course targetValue = target.getCourse();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            java.util.List value = this.getComment();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.User value = this.getOwner();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getDirections();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Difficulty value = this.getDifficulty();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRating();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Long value = this.getRecipeId();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRelatedRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getStep();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.Calendar value = this.getModifiedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getImage();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getSource();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Base value = this.getBase();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.System value = this.getSystem();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getName();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Ethnicity value = this.getEthnicity();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getServingSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.PrepTime value = this.getPrepTime();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getExcerpt();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.Calendar value = this.getCreatedDate();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.Course value = this.getCourse();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "--");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.RecipeImpl)magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.RecipeImpl)magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.RecipeImpl)magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.RecipeImpl)magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.RecipeImpl)magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.this).new Unmarshaller(context)), 1, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  1 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  0 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  1 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  0 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 1519 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiSearchResultsImpl.java

@@ -0,0 +1,1519 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiSearchResultsImpl
+    extends magoffin.matt.ieat.domain.impl.UiBaseImpl
+    implements magoffin.matt.ieat.domain.UiSearchResults, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected magoffin.matt.ieat.domain.UiPaginationSupport _Pagination;
+    protected com.sun.xml.bind.util.ListImpl _User;
+    protected java.lang.Integer _PageSize;
+    protected java.lang.Integer _PageStart;
+    protected com.sun.xml.bind.util.ListImpl _Recipe;
+    protected com.sun.xml.bind.util.ListImpl _Ingredient;
+    protected magoffin.matt.ieat.domain.UiIndex _UiIndex;
+    protected java.lang.Integer _TotalResults;
+    protected magoffin.matt.ieat.domain.RecipeSearchCriteria _RecipeCriteria;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiSearchResults.class);
+    }
+
+    public magoffin.matt.ieat.domain.UiPaginationSupport getPagination() {
+        return _Pagination;
+    }
+
+    public void setPagination(magoffin.matt.ieat.domain.UiPaginationSupport value) {
+        _Pagination = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getUser() {
+        if (_User == null) {
+            _User = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _User;
+    }
+
+    public java.util.List getUser() {
+        return _getUser();
+    }
+
+    public java.lang.Integer getPageSize() {
+        return _PageSize;
+    }
+
+    public void setPageSize(java.lang.Integer value) {
+        _PageSize = value;
+    }
+
+    public java.lang.Integer getPageStart() {
+        return _PageStart;
+    }
+
+    public void setPageStart(java.lang.Integer value) {
+        _PageStart = value;
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getRecipe() {
+        if (_Recipe == null) {
+            _Recipe = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Recipe;
+    }
+
+    public java.util.List getRecipe() {
+        return _getRecipe();
+    }
+
+    protected com.sun.xml.bind.util.ListImpl _getIngredient() {
+        if (_Ingredient == null) {
+            _Ingredient = new com.sun.xml.bind.util.ListImpl(new java.util.ArrayList());
+        }
+        return _Ingredient;
+    }
+
+    public java.util.List getIngredient() {
+        return _getIngredient();
+    }
+
+    public magoffin.matt.ieat.domain.UiIndex getUiIndex() {
+        return _UiIndex;
+    }
+
+    public void setUiIndex(magoffin.matt.ieat.domain.UiIndex value) {
+        _UiIndex = value;
+    }
+
+    public java.lang.Integer getTotalResults() {
+        return _TotalResults;
+    }
+
+    public void setTotalResults(java.lang.Integer value) {
+        _TotalResults = value;
+    }
+
+    public magoffin.matt.ieat.domain.RecipeSearchCriteria getRecipeCriteria() {
+        return _RecipeCriteria;
+    }
+
+    public void setRecipeCriteria(magoffin.matt.ieat.domain.RecipeSearchCriteria value) {
+        _RecipeCriteria = value;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_User == null)? 0 :_User.size());
+        int idx5 = 0;
+        final int len5 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx6 = 0;
+        final int len6 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        super.serializeBody(context);
+        if (_UiIndex!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "ui-index");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _UiIndex), "UiIndex");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _UiIndex), "UiIndex");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _UiIndex), "UiIndex");
+            context.endElement();
+        }
+        if (_Pagination!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "pagination");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Pagination), "Pagination");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Pagination), "Pagination");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Pagination), "Pagination");
+            context.endElement();
+        }
+        if (_RecipeCriteria!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe-criteria");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _RecipeCriteria), "RecipeCriteria");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _RecipeCriteria), "RecipeCriteria");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _RecipeCriteria), "RecipeCriteria");
+            context.endElement();
+        }
+        while (idx5 != len5) {
+            context.startElement("http://msqr.us/xsd/ieat", "recipe");
+            int idx_6 = idx5;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_6 ++)), "Recipe");
+            context.endNamespaceDecls();
+            int idx_7 = idx5;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx_7 ++)), "Recipe");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Recipe.get(idx5 ++)), "Recipe");
+            context.endElement();
+        }
+        while (idx6 != len6) {
+            context.startElement("http://msqr.us/xsd/ieat", "ingredient");
+            int idx_8 = idx6;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_8 ++)), "Ingredient");
+            context.endNamespaceDecls();
+            int idx_9 = idx6;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx_9 ++)), "Ingredient");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _Ingredient.get(idx6 ++)), "Ingredient");
+            context.endElement();
+        }
+        while (idx2 != len2) {
+            context.startElement("http://msqr.us/xsd/ieat", "user");
+            int idx_10 = idx2;
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _User.get(idx_10 ++)), "User");
+            context.endNamespaceDecls();
+            int idx_11 = idx2;
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _User.get(idx_11 ++)), "User");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _User.get(idx2 ++)), "User");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_User == null)? 0 :_User.size());
+        int idx5 = 0;
+        final int len5 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx6 = 0;
+        final int len6 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        if (_PageSize!= null) {
+            context.startAttribute("", "pageSize");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _PageSize).intValue())), "PageSize");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+        context.startAttribute("", "pageStart");
+        try {
+            context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _PageStart).intValue())), "PageStart");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+        context.startAttribute("", "totalResults");
+        try {
+            context.text(javax.xml.bind.DatatypeConverter.printInt(((int)((java.lang.Integer) _TotalResults).intValue())), "TotalResults");
+        } catch (java.lang.Exception e) {
+            magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+        }
+        context.endAttribute();
+        super.serializeAttributes(context);
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+        while (idx6 != len6) {
+            idx6 += 1;
+        }
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        int idx2 = 0;
+        final int len2 = ((_User == null)? 0 :_User.size());
+        int idx5 = 0;
+        final int len5 = ((_Recipe == null)? 0 :_Recipe.size());
+        int idx6 = 0;
+        final int len6 = ((_Ingredient == null)? 0 :_Ingredient.size());
+        super.serializeURIs(context);
+        while (idx5 != len5) {
+            idx5 += 1;
+        }
+        while (idx6 != len6) {
+            idx6 += 1;
+        }
+        while (idx2 != len2) {
+            idx2 += 1;
+        }
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiSearchResults.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000pp"
++"sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0000ppsr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001e"
++"com.sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclared"
++"AttributesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r"
++"\u0080\u00d5\u009c\u00fa\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~\u0000\u000eppsr\u0000 com.sun.ms"
++"v.grammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.Una"
++"ryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\u0015psr\u0000 com.sun.msv.gramm"
++"ar.AttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\u0011xq\u0000~\u0000\u0003"
++"q\u0000~\u0000\u0015psr\u00002com.sun.msv.grammar.Expression$AnyStringExpression"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\u0014\u0001q\u0000~\u0000\u001fsr\u0000 com.sun.msv.grammar.AnyName"
++"Class\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xpsr\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003q\u0000~\u0000 q\u0000~\u0000%sr\u0000#com.sun.msv.grammar.SimpleNameClass"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq"
++"\u0000~\u0000\'xq\u0000~\u0000\"t\u0000!magoffin.matt.ieat.domain.UiIndext\u0000+http://java"
++".sun.com/jaxb/xjc/dummy-elementssq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015psr\u0000\u001bcom."
++"sun.msv.grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datat"
++"ype/Datatype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/Strin"
++"gPair;xq\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000"
++"xr\u0000%com.sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com."
++"sun.msv.datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUr"
++"iq\u0000~\u0000\'L\u0000\btypeNameq\u0000~\u0000\'L\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/"
++"xsd/WhiteSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchem"
++"at\u0000\u0005QNamesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Co"
++"llapse\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProc"
++"essor\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSet"
++"Expression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair"
++"\u00d0t\u001ejB\u008f\u008d\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\'L\u0000\fnamespaceURIq\u0000~\u0000\'xpq\u0000~\u00008q\u0000~\u00007"
++"sq\u0000~\u0000&t\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~"
++"\u0000%sq\u0000~\u0000&t\u0000\bui-indext\u0000\u0017http://msqr.us/xsd/ieatq\u0000~\u0000%sq\u0000~\u0000\u000eppsq"
++"\u0000~\u0000\u0010q\u0000~\u0000\u0015p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u001cq\u0000~\u0000\u0015p"
++"q\u0000~\u0000\u001fq\u0000~\u0000#q\u0000~\u0000%sq\u0000~\u0000&t\u0000-magoffin.matt.ieat.domain.UiPaginati"
++"onSupportq\u0000~\u0000*sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u00000q\u0000~\u0000@q\u0000~\u0000%sq\u0000~\u0000&t\u0000\npa"
++"ginationq\u0000~\u0000Eq\u0000~\u0000%sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0010q\u0000~\u0000\u0015p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~"
++"\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u0000\u001fq\u0000~\u0000#q\u0000~\u0000%sq\u0000~\u0000&t\u0000.magoffin"
++".matt.ieat.domain.RecipeSearchCriteriaq\u0000~\u0000*sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~"
++"\u0000\u0015pq\u0000~\u00000q\u0000~\u0000@q\u0000~\u0000%sq\u0000~\u0000&t\u0000\u000frecipe-criteriaq\u0000~\u0000Eq\u0000~\u0000%sq\u0000~\u0000\u000epp"
++"sq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u0010q\u0000~\u0000\u0015p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000"
++"\u0015psq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u0000\u001fq\u0000~\u0000#q\u0000~\u0000%sq\u0000~\u0000&t\u0000\'magoffin.matt.ieat.dom"
++"ain.UiRecipeMatchq\u0000~\u0000*sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u00000q\u0000~\u0000@q\u0000~\u0000%sq\u0000"
++"~\u0000&t\u0000\u0006recipeq\u0000~\u0000Eq\u0000~\u0000%sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u0010q\u0000~\u0000\u0015p\u0000sq\u0000~\u0000"
++"\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u0000\u001fq\u0000~\u0000#q\u0000~\u0000%s"
++"q\u0000~\u0000&t\u0000+magoffin.matt.ieat.domain.UiIngredientMatchq\u0000~\u0000*sq\u0000~"
++"\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u00000q\u0000~\u0000@q\u0000~\u0000%sq\u0000~\u0000&t\u0000\ningredientq\u0000~\u0000Eq\u0000~\u0000%"
++"sq\u0000~\u0000\u000eppsq\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u0010q\u0000~\u0000\u0015p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\u0010pp\u0000sq\u0000~\u0000\u000eppsq"
++"\u0000~\u0000\u0019q\u0000~\u0000\u0015psq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u0000\u001fq\u0000~\u0000#q\u0000~\u0000%sq\u0000~\u0000&t\u0000%magoffin.matt."
++"ieat.domain.UiUserMatchq\u0000~\u0000*sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015pq\u0000~\u00000q\u0000~\u0000@q\u0000"
++"~\u0000%sq\u0000~\u0000&t\u0000\u0004userq\u0000~\u0000Eq\u0000~\u0000%sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015psq\u0000~\u0000-ppsr\u0000#co"
++"m.sun.msv.datatype.xsd.StringType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001Z\u0000\risAlwaysValid"
++"xq\u0000~\u00002q\u0000~\u00007t\u0000\u0006stringsr\u00005com.sun.msv.datatype.xsd.WhiteSpaceP"
++"rocessor$Preserve\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000:\u0001q\u0000~\u0000=sq\u0000~\u0000>q\u0000~\u0000\u008fq\u0000~\u00007sq\u0000~"
++"\u0000&t\u0000\u0004modet\u0000\u0000q\u0000~\u0000%sq\u0000~\u0000\u000eppsq\u0000~\u0000\u001cq\u0000~\u0000\u0015psq\u0000~\u0000-ppsr\u0000 com.sun.msv"
++".datatype.xsd.IntType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000+com.sun.msv.datatype.xsd"
++".IntegerDerivedType\u0099\u00f1]\u0090&6k\u00be\u0002\u0000\u0001L\u0000\nbaseFacetst\u0000)Lcom/sun/msv/d"
++"atatype/xsd/XSDatatypeImpl;xq\u0000~\u00002q\u0000~\u00007t\u0000\u0003intq\u0000~\u0000;sr\u0000*com.sun"
++".msv.datatype.xsd.MaxInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000#com.sun.ms"
++"v.datatype.xsd.RangeFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\nlimitValuet\u0000\u0012Ljava/la"
++"ng/Object;xr\u00009com.sun.msv.datatype.xsd.DataTypeWithValueCons"
++"traintFacet\"\u00a7Ro\u00ca\u00c7\u008aT\u0002\u0000\u0000xr\u0000*com.sun.msv.datatype.xsd.DataTypeW"
++"ithFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0005Z\u0000\fisFacetFixedZ\u0000\u0012needValueCheckFlagL\u0000\bba"
++"seTypeq\u0000~\u0000\u009bL\u0000\fconcreteTypet\u0000\'Lcom/sun/msv/datatype/xsd/Concr"
++"eteType;L\u0000\tfacetNameq\u0000~\u0000\'xq\u0000~\u00004ppq\u0000~\u0000;\u0000\u0001sr\u0000*com.sun.msv.data"
++"type.xsd.MinInclusiveFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u009fppq\u0000~\u0000;\u0000\u0000sr\u0000!com."
++"sun.msv.datatype.xsd.LongType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u009aq\u0000~\u00007t\u0000\u0004longq\u0000"
++"~\u0000;sq\u0000~\u0000\u009eppq\u0000~\u0000;\u0000\u0001sq\u0000~\u0000\u00a5ppq\u0000~\u0000;\u0000\u0000sr\u0000$com.sun.msv.datatype.xs"
++"d.IntegerType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u009aq\u0000~\u00007t\u0000\u0007integerq\u0000~\u0000;sr\u0000,com.su"
++"n.msv.datatype.xsd.FractionDigitsFacet\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001I\u0000\u0005scalexr\u0000"
++";com.sun.msv.datatype.xsd.DataTypeWithLexicalConstraintFacet"
++"T\u0090\u001c>\u001azb\u00ea\u0002\u0000\u0000xq\u0000~\u0000\u00a2ppq\u0000~\u0000;\u0001\u0000sr\u0000#com.sun.msv.datatype.xsd.Numbe"
++"rType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u00002q\u0000~\u00007t\u0000\u0007decimalq\u0000~\u0000;q\u0000~\u0000\u00b3t\u0000\u000efractionDi"
++"gits\u0000\u0000\u0000\u0000q\u0000~\u0000\u00adt\u0000\fminInclusivesr\u0000\u000ejava.lang.Long;\u008b\u00e4\u0090\u00cc\u008f#\u00df\u0002\u0000\u0001J\u0000\u0005"
++"valuexr\u0000\u0010java.lang.Number\u0086\u00ac\u0095\u001d\u000b\u0094\u00e0\u008b\u0002\u0000\u0000xp\u0080\u0000\u0000\u0000\u0000\u0000\u0000\u0000q\u0000~\u0000\u00adt\u0000\fmaxInc"
++"lusivesq\u0000~\u0000\u00b7\u007f\u00ff\u00ff\u00ff\u00ff\u00ff\u00ff\u00ffq\u0000~\u0000\u00a8q\u0000~\u0000\u00b6sr\u0000\u0011java.lang.Integer\u0012\u00e2\u00a0\u00a4\u00f7\u0081\u00878\u0002"
++"\u0000\u0001I\u0000\u0005valuexq\u0000~\u0000\u00b8\u0080\u0000\u0000\u0000q\u0000~\u0000\u00a8q\u0000~\u0000\u00basq\u0000~\u0000\u00bc\u007f\u00ff\u00ff\u00ffq\u0000~\u0000=sq\u0000~\u0000>q\u0000~\u0000\u009dq\u0000~\u0000"
++"7sq\u0000~\u0000&t\u0000\bpageSizeq\u0000~\u0000\u0095q\u0000~\u0000%sq\u0000~\u0000\u001cppq\u0000~\u0000\u0098sq\u0000~\u0000&t\u0000\tpageStartq"
++"\u0000~\u0000\u0095sq\u0000~\u0000\u001cppq\u0000~\u0000\u0098sq\u0000~\u0000&t\u0000\ftotalResultsq\u0000~\u0000\u0095sr\u0000\"com.sun.msv.g"
++"rammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/g"
++"rammar/ExpressionPool$ClosedHash;xpsr\u0000-com.sun.msv.grammar.E"
++"xpressionPool$ClosedHash\u00d7j\u00d0N\u00ef\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL"
++"\u0000\u0006parentt\u0000$Lcom/sun/msv/grammar/ExpressionPool;xp\u0000\u0000\u0000,\u0001pq\u0000~\u0000\u0086"
++"q\u0000~\u0000\u000fq\u0000~\u0000Fq\u0000~\u0000Sq\u0000~\u0000\u008aq\u0000~\u0000\u0016q\u0000~\u0000Hq\u0000~\u0000Uq\u0000~\u0000cq\u0000~\u0000qq\u0000~\u0000\u007fq\u0000~\u0000\u0096q\u0000~\u0000`"
++"q\u0000~\u0000nq\u0000~\u0000|q\u0000~\u0000\nq\u0000~\u0000\u0018q\u0000~\u0000Jq\u0000~\u0000Wq\u0000~\u0000eq\u0000~\u0000sq\u0000~\u0000\u0081q\u0000~\u0000\u0005q\u0000~\u0000\fq\u0000~\u0000\u0007"
++"q\u0000~\u0000aq\u0000~\u0000oq\u0000~\u0000}q\u0000~\u0000\u001bq\u0000~\u0000Kq\u0000~\u0000Xq\u0000~\u0000fq\u0000~\u0000tq\u0000~\u0000\u0082q\u0000~\u0000\u000bq\u0000~\u0000\tq\u0000~\u0000\r"
++"q\u0000~\u0000\u0006q\u0000~\u0000\bq\u0000~\u0000+q\u0000~\u0000Oq\u0000~\u0000\\q\u0000~\u0000jq\u0000~\u0000xx"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiSearchResults))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiSearchResultsImpl target = ((magoffin.matt.ieat.domain.impl.UiSearchResultsImpl) obj);
+        {
+            magoffin.matt.ieat.domain.UiPaginationSupport value = this.getPagination();
+            magoffin.matt.ieat.domain.UiPaginationSupport targetValue = target.getPagination();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getUser();
+            java.util.List targetValue = target.getUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getPageSize();
+            java.lang.Integer targetValue = target.getPageSize();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getPageStart();
+            java.lang.Integer targetValue = target.getPageStart();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getRecipe();
+            java.util.List targetValue = target.getRecipe();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.util.List value = this.getIngredient();
+            java.util.List targetValue = target.getIngredient();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.UiIndex value = this.getUiIndex();
+            magoffin.matt.ieat.domain.UiIndex targetValue = target.getUiIndex();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.Integer value = this.getTotalResults();
+            java.lang.Integer targetValue = target.getTotalResults();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            magoffin.matt.ieat.domain.RecipeSearchCriteria value = this.getRecipeCriteria();
+            magoffin.matt.ieat.domain.RecipeSearchCriteria targetValue = target.getRecipeCriteria();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            java.lang.String value = this.getMode();
+            java.lang.String targetValue = target.getMode();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.UiPaginationSupport value = this.getPagination();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getPageSize();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getPageStart();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getRecipe();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.util.List value = this.getIngredient();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.UiIndex value = this.getUiIndex();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.Integer value = this.getTotalResults();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            magoffin.matt.ieat.domain.RecipeSearchCriteria value = this.getRecipeCriteria();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            java.lang.String value = this.getMode();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-----------------------------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        spawnHandlerFromEnterElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, ___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  25 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 23;
+                            return ;
+                        }
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 26;
+                            return ;
+                        }
+                        state = 28;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "totalResults");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                    case  26 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  28 :
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 26;
+                            return ;
+                        }
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  10 :
+                        if (("ui-index" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 11;
+                            return ;
+                        }
+                        state = 13;
+                        continue outer;
+                    case  14 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        if (("recipe-criteria" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 17;
+                            return ;
+                        }
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.class), 21, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 20;
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 23;
+                            return ;
+                        }
+                        state = 25;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.class), 24, ___uri, ___local, ___qname, __atts)));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  11 :
+                        if (("index-section" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, ___uri, ___local, ___qname, __atts));
+                        return ;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        if (("simpleQuery" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        if (("advanced" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname, __atts));
+                        return ;
+                    case  19 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 20;
+                            return ;
+                        }
+                        state = 22;
+                        continue outer;
+                    case  13 :
+                        if (("pagination" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 14;
+                            return ;
+                        }
+                        state = 16;
+                        continue outer;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _TotalResults = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText2(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _PageSize = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        private void eatText3(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _PageStart = new java.lang.Integer(((int) javax.xml.bind.DatatypeConverter.parseInt(com.sun.xml.bind.WhiteSpaceProcessor.collapse(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value)))));
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveElement((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, ___uri, ___local, ___qname);
+                        return ;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "totalResults");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                    case  26 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  18 :
+                        if (("recipe-criteria" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 19;
+                            return ;
+                        }
+                        break;
+                    case  28 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  24 :
+                        if (("ingredient" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 25;
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  12 :
+                        if (("ui-index" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 13;
+                            return ;
+                        }
+                        break;
+                    case  21 :
+                        if (("recipe" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 22;
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  11 :
+                        _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, ___uri, ___local, ___qname));
+                        return ;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromLeaveElement((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname));
+                        return ;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                    case  27 :
+                        if (("user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 28;
+                            return ;
+                        }
+                        break;
+                    case  15 :
+                        if (("pagination" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 16;
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, ___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromEnterAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, ___uri, ___local, ___qname);
+                        return ;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  6 :
+                        if (("totalResults" == ___local)&&("" == ___uri)) {
+                            state = 7;
+                            return ;
+                        }
+                        break;
+                    case  26 :
+                        if (("accessLevel" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("country" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("language" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("lastLoginDate" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("login" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _getUser().add(((magoffin.matt.ieat.domain.impl.UiUserMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiUserMatchImpl.class), 27, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  28 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  14 :
+                        if (("allowUnlimited" == ___local)&&("" == ___uri)) {
+                            _Pagination = ((magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("defaultPageSize" == ___local)&&("" == ___uri)) {
+                            _Pagination = ((magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiPaginationSupportImpl.class), 15, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.class), 21, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("modifiedDate" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.class), 21, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("recipeId" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.class), 21, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        if (("servingSize" == ___local)&&("" == ___uri)) {
+                            _getRecipe().add(((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiRecipeMatchImpl.class), 21, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  23 :
+                        if (("ingredientId" == ___local)&&("" == ___uri)) {
+                            _getIngredient().add(((magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiIngredientMatchImpl.class), 24, ___uri, ___local, ___qname)));
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        if (("pageSize" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  3 :
+                        if (("pageStart" == ___local)&&("" == ___uri)) {
+                            state = 4;
+                            return ;
+                        }
+                        break;
+                    case  11 :
+                        _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, ___uri, ___local, ___qname));
+                        return ;
+                    case  17 :
+                        if (("mode" == ___local)&&("" == ___uri)) {
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname));
+                        return ;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  9 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        spawnHandlerFromLeaveAttribute((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, ___uri, ___local, ___qname);
+                        return ;
+                    case  25 :
+                        state = 28;
+                        continue outer;
+                    case  6 :
+                        attIdx = context.getAttribute("", "totalResults");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 9;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        break;
+                    case  26 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  28 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  8 :
+                        if (("totalResults" == ___local)&&("" == ___uri)) {
+                            state = 9;
+                            return ;
+                        }
+                        break;
+                    case  10 :
+                        state = 13;
+                        continue outer;
+                    case  2 :
+                        if (("pageSize" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  14 :
+                        attIdx = context.getAttribute("", "allowUnlimited");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "defaultPageSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  16 :
+                        state = 19;
+                        continue outer;
+                    case  20 :
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "modifiedDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "recipeId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "servingSize");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  22 :
+                        state = 25;
+                        continue outer;
+                    case  23 :
+                        attIdx = context.getAttribute("", "ingredientId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                    case  0 :
+                        attIdx = context.getAttribute("", "pageSize");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText2(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  5 :
+                        if (("pageStart" == ___local)&&("" == ___uri)) {
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        attIdx = context.getAttribute("", "pageStart");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 6;
+                            eatText3(v);
+                            continue outer;
+                        }
+                        break;
+                    case  11 :
+                        _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, ___uri, ___local, ___qname));
+                        return ;
+                    case  17 :
+                        attIdx = context.getAttribute("", "mode");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromLeaveAttribute((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, ___uri, ___local, ___qname));
+                        return ;
+                    case  19 :
+                        state = 22;
+                        continue outer;
+                    case  13 :
+                        state = 16;
+                        continue outer;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  9 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            spawnHandlerFromText((((magoffin.matt.ieat.domain.impl.UiBaseImpl)magoffin.matt.ieat.domain.impl.UiSearchResultsImpl.this).new Unmarshaller(context)), 10, value);
+                            return ;
+                        case  25 :
+                            state = 28;
+                            continue outer;
+                        case  6 :
+                            attIdx = context.getAttribute("", "totalResults");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 9;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            break;
+                        case  26 :
+                            attIdx = context.getAttribute("", "accessLevel");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "country");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "language");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "lastLoginDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "login");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  28 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  10 :
+                            state = 13;
+                            continue outer;
+                        case  14 :
+                            attIdx = context.getAttribute("", "allowUnlimited");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "defaultPageSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  16 :
+                            state = 19;
+                            continue outer;
+                        case  20 :
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "modifiedDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "recipeId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "servingSize");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  7 :
+                            state = 8;
+                            eatText1(value);
+                            return ;
+                        case  22 :
+                            state = 25;
+                            continue outer;
+                        case  23 :
+                            attIdx = context.getAttribute("", "ingredientId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                        case  0 :
+                            attIdx = context.getAttribute("", "pageSize");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText2(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  3 :
+                            attIdx = context.getAttribute("", "pageStart");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 6;
+                                eatText3(v);
+                                continue outer;
+                            }
+                            break;
+                        case  11 :
+                            _UiIndex = ((magoffin.matt.ieat.domain.impl.UiIndexImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.UiIndexImpl.class), 12, value));
+                            return ;
+                        case  17 :
+                            attIdx = context.getAttribute("", "mode");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            _RecipeCriteria = ((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl) spawnChildFromText((magoffin.matt.ieat.domain.impl.RecipeSearchCriteriaImpl.class), 18, value));
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText2(value);
+                            return ;
+                        case  19 :
+                            state = 22;
+                            continue outer;
+                        case  13 :
+                            state = 16;
+                            continue outer;
+                        case  4 :
+                            state = 5;
+                            eatText3(value);
+                            return ;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

+ 580 - 0
hyperjaxb2-build/target/generated-sources/xjc/magoffin/matt/ieat/domain/impl/UiSessionDataImpl.java

@@ -0,0 +1,580 @@
+//
+// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v1.0.6-01/24/2006 06:08 PM(kohsuke)-fcs 
+// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a> 
+// Any modifications to this file will be lost upon recompilation of the source schema. 
+// Generated on: 2018.09.10 at 08:01:16 AM PDT 
+//
+
+
+package magoffin.matt.ieat.domain.impl;
+
+public class UiSessionDataImpl implements magoffin.matt.ieat.domain.UiSessionData, java.io.Serializable, com.sun.xml.bind.JAXBObject, magoffin.matt.ieat.domain.impl.runtime.UnmarshallableObject, magoffin.matt.ieat.domain.impl.runtime.XMLSerializable, magoffin.matt.ieat.domain.impl.runtime.ValidatableObject
+{
+
+    private final static long serialVersionUID = 200905041L;
+    protected magoffin.matt.ieat.domain.User _ActingUser;
+    protected boolean has_Admin;
+    protected boolean _Admin;
+    public final static java.lang.Class version = (magoffin.matt.ieat.domain.impl.JAXBVersion.class);
+    private static com.sun.msv.grammar.Grammar schemaFragment;
+
+    private final static java.lang.Class PRIMARY_INTERFACE_CLASS() {
+        return (magoffin.matt.ieat.domain.UiSessionData.class);
+    }
+
+    public magoffin.matt.ieat.domain.User getActingUser() {
+        return _ActingUser;
+    }
+
+    public void setActingUser(magoffin.matt.ieat.domain.User value) {
+        _ActingUser = value;
+    }
+
+    public boolean isAdmin() {
+        return _Admin;
+    }
+
+    public void setAdmin(boolean value) {
+        _Admin = value;
+        has_Admin = true;
+    }
+
+    public magoffin.matt.ieat.domain.impl.runtime.UnmarshallingEventHandler createUnmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+        return new magoffin.matt.ieat.domain.impl.UiSessionDataImpl.Unmarshaller(context);
+    }
+
+    public void serializeBody(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (_ActingUser!= null) {
+            context.startElement("http://msqr.us/xsd/ieat", "acting-user");
+            context.childAsURIs(((com.sun.xml.bind.JAXBObject) _ActingUser), "ActingUser");
+            context.endNamespaceDecls();
+            context.childAsAttributes(((com.sun.xml.bind.JAXBObject) _ActingUser), "ActingUser");
+            context.endAttributes();
+            context.childAsBody(((com.sun.xml.bind.JAXBObject) _ActingUser), "ActingUser");
+            context.endElement();
+        }
+    }
+
+    public void serializeAttributes(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+        if (has_Admin) {
+            context.startAttribute("", "admin");
+            try {
+                context.text(javax.xml.bind.DatatypeConverter.printBoolean(((boolean) _Admin)), "Admin");
+            } catch (java.lang.Exception e) {
+                magoffin.matt.ieat.domain.impl.runtime.Util.handlePrintConversionException(this, e, context);
+            }
+            context.endAttribute();
+        }
+    }
+
+    public void serializeURIs(magoffin.matt.ieat.domain.impl.runtime.XMLSerializer context)
+        throws org.xml.sax.SAXException
+    {
+    }
+
+    public java.lang.Class getPrimaryInterface() {
+        return (magoffin.matt.ieat.domain.UiSessionData.class);
+    }
+
+    public com.sun.msv.verifier.DocumentDeclaration createRawValidator() {
+        if (schemaFragment == null) {
+            schemaFragment = com.sun.xml.bind.validator.SchemaDeserializer.deserialize((
+ "\u00ac\u00ed\u0000\u0005sr\u0000\u001fcom.sun.msv.grammar.SequenceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.su"
++"n.msv.grammar.BinaryExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0004exp1t\u0000 Lcom/sun/msv/gra"
++"mmar/Expression;L\u0000\u0004exp2q\u0000~\u0000\u0002xr\u0000\u001ecom.sun.msv.grammar.Expressi"
++"on\u00f8\u0018\u0082\u00e8N5~O\u0002\u0000\u0002L\u0000\u0013epsilonReducibilityt\u0000\u0013Ljava/lang/Boolean;L\u0000\u000b"
++"expandedExpq\u0000~\u0000\u0002xpppsr\u0000\u001dcom.sun.msv.grammar.ChoiceExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0001ppsr\u0000\'com.sun.msv.grammar.trex.ElementPattern\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\tnameClasst\u0000\u001fLcom/sun/msv/grammar/NameClass;xr\u0000\u001ecom."
++"sun.msv.grammar.ElementExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002Z\u0000\u001aignoreUndeclaredAttr"
++"ibutesL\u0000\fcontentModelq\u0000~\u0000\u0002xq\u0000~\u0000\u0003sr\u0000\u0011java.lang.Boolean\u00cd r\u0080\u00d5\u009c\u00fa"
++"\u00ee\u0002\u0000\u0001Z\u0000\u0005valuexp\u0000p\u0000sq\u0000~\u0000\u0000ppsq\u0000~\u0000\bpp\u0000sq\u0000~\u0000\u0006ppsr\u0000 com.sun.msv.gr"
++"ammar.OneOrMoreExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001ccom.sun.msv.grammar.UnaryEx"
++"p\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0001L\u0000\u0003expq\u0000~\u0000\u0002xq\u0000~\u0000\u0003q\u0000~\u0000\rpsr\u0000 com.sun.msv.grammar.A"
++"ttributeExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\u0003expq\u0000~\u0000\u0002L\u0000\tnameClassq\u0000~\u0000\txq\u0000~\u0000\u0003q\u0000~\u0000"
++"\rpsr\u00002com.sun.msv.grammar.Expression$AnyStringExpression\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003sq\u0000~\u0000\f\u0001q\u0000~\u0000\u0017sr\u0000 com.sun.msv.grammar.AnyNameClas"
++"s\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\u001dcom.sun.msv.grammar.NameClass\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr"
++"\u00000com.sun.msv.grammar.Expression$EpsilonExpression\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000"
++"\u0000xq\u0000~\u0000\u0003q\u0000~\u0000\u0018q\u0000~\u0000\u001dsr\u0000#com.sun.msv.grammar.SimpleNameClass\u0000\u0000\u0000\u0000"
++"\u0000\u0000\u0000\u0001\u0002\u0000\u0002L\u0000\tlocalNamet\u0000\u0012Ljava/lang/String;L\u0000\fnamespaceURIq\u0000~\u0000\u001f"
++"xq\u0000~\u0000\u001at\u0000\u001emagoffin.matt.ieat.domain.Usert\u0000+http://java.sun.co"
++"m/jaxb/xjc/dummy-elementssq\u0000~\u0000\u0006ppsq\u0000~\u0000\u0014q\u0000~\u0000\rpsr\u0000\u001bcom.sun.msv"
++".grammar.DataExp\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\u0002dtt\u0000\u001fLorg/relaxng/datatype/Dat"
++"atype;L\u0000\u0006exceptq\u0000~\u0000\u0002L\u0000\u0004namet\u0000\u001dLcom/sun/msv/util/StringPair;x"
++"q\u0000~\u0000\u0003ppsr\u0000\"com.sun.msv.datatype.xsd.QnameType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000*"
++"com.sun.msv.datatype.xsd.BuiltinAtomicType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000%com"
++".sun.msv.datatype.xsd.ConcreteType\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000\'com.sun.msv"
++".datatype.xsd.XSDatatypeImpl\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0003L\u0000\fnamespaceUriq\u0000~\u0000\u001fL"
++"\u0000\btypeNameq\u0000~\u0000\u001fL\u0000\nwhiteSpacet\u0000.Lcom/sun/msv/datatype/xsd/Whi"
++"teSpaceProcessor;xpt\u0000 http://www.w3.org/2001/XMLSchemat\u0000\u0005QNa"
++"mesr\u00005com.sun.msv.datatype.xsd.WhiteSpaceProcessor$Collapse\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xr\u0000,com.sun.msv.datatype.xsd.WhiteSpaceProcessor\u0000\u0000"
++"\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xpsr\u00000com.sun.msv.grammar.Expression$NullSetExpress"
++"ion\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000\u0003ppsr\u0000\u001bcom.sun.msv.util.StringPair\u00d0t\u001ejB\u008f\u008d"
++"\u00a0\u0002\u0000\u0002L\u0000\tlocalNameq\u0000~\u0000\u001fL\u0000\fnamespaceURIq\u0000~\u0000\u001fxpq\u0000~\u00000q\u0000~\u0000/sq\u0000~\u0000\u001et"
++"\u0000\u0004typet\u0000)http://www.w3.org/2001/XMLSchema-instanceq\u0000~\u0000\u001dsq\u0000~\u0000"
++"\u001et\u0000\u000bacting-usert\u0000\u0017http://msqr.us/xsd/ieatq\u0000~\u0000\u001dsq\u0000~\u0000\u0006ppsq\u0000~\u0000\u0014"
++"q\u0000~\u0000\rpsq\u0000~\u0000%ppsr\u0000$com.sun.msv.datatype.xsd.BooleanType\u0000\u0000\u0000\u0000\u0000\u0000"
++"\u0000\u0001\u0002\u0000\u0000xq\u0000~\u0000*q\u0000~\u0000/t\u0000\u0007booleanq\u0000~\u00003q\u0000~\u00005sq\u0000~\u00006q\u0000~\u0000Cq\u0000~\u0000/sq\u0000~\u0000\u001et\u0000"
++"\u0005admint\u0000\u0000q\u0000~\u0000\u001dsr\u0000\"com.sun.msv.grammar.ExpressionPool\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001"
++"\u0002\u0000\u0001L\u0000\bexpTablet\u0000/Lcom/sun/msv/grammar/ExpressionPool$ClosedH"
++"ash;xpsr\u0000-com.sun.msv.grammar.ExpressionPool$ClosedHash\u00d7j\u00d0N\u00ef"
++"\u00e8\u00ed\u001c\u0003\u0000\u0003I\u0000\u0005countB\u0000\rstreamVersionL\u0000\u0006parentt\u0000$Lcom/sun/msv/gramm"
++"ar/ExpressionPool;xp\u0000\u0000\u0000\u0007\u0001pq\u0000~\u0000\u0007q\u0000~\u0000\u000eq\u0000~\u0000\u0010q\u0000~\u0000>q\u0000~\u0000\u0013q\u0000~\u0000\u0005q\u0000~\u0000"
++"#x"));
+        }
+        return new com.sun.msv.verifier.regexp.REDocumentDeclaration(schemaFragment);
+    }
+
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if ((null == obj)||(!(obj instanceof magoffin.matt.ieat.domain.UiSessionData))) {
+            return false;
+        }
+        magoffin.matt.ieat.domain.impl.UiSessionDataImpl target = ((magoffin.matt.ieat.domain.impl.UiSessionDataImpl) obj);
+        {
+            magoffin.matt.ieat.domain.User value = this.getActingUser();
+            magoffin.matt.ieat.domain.User targetValue = target.getActingUser();
+            if (!((value == targetValue)||((value!= null)&&value.equals(targetValue)))) {
+                return false;
+            }
+        }
+        {
+            boolean value = this.isAdmin();
+            boolean targetValue = target.isAdmin();
+            if (value!= targetValue) {
+                return false;
+            }
+        }
+        return true;
+    }
+
+    public int hashCode() {
+        int hash = 7;
+        {
+            magoffin.matt.ieat.domain.User value = this.getActingUser();
+            hash = ((31 *hash)+((null == value)? 0 :value.hashCode()));
+        }
+        {
+            boolean value = this.isAdmin();
+            hash = ((31 *hash)+(value? 1 : 0));
+        }
+        return hash;
+    }
+
+    public class Unmarshaller
+        extends magoffin.matt.ieat.domain.impl.runtime.AbstractUnmarshallingEventHandlerImpl
+    {
+
+
+        public Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context) {
+            super(context, "-------");
+        }
+
+        protected Unmarshaller(magoffin.matt.ieat.domain.impl.runtime.UnmarshallingContext context, int startState) {
+            this(context);
+            state = startState;
+        }
+
+        public java.lang.Object owner() {
+            return magoffin.matt.ieat.domain.impl.UiSessionDataImpl.this;
+        }
+
+        public void enterElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname, org.xml.sax.Attributes __atts)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        if (("acting-user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.pushAttributes(__atts, false);
+                            state = 4;
+                            return ;
+                        }
+                        state = 6;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        revertToParentFromEnterElement(___uri, ___local, ___qname, __atts);
+                        return ;
+                    case  4 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().enterElement(___uri, ___local, ___qname, __atts);
+                            return ;
+                        }
+                        if (("name" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterElement((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname, __atts));
+                            return ;
+                        }
+                        break;
+                }
+                super.enterElement(___uri, ___local, ___qname, __atts);
+                break;
+            }
+        }
+
+        private void eatText1(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            try {
+                _Admin = javax.xml.bind.DatatypeConverter.parseBoolean(com.sun.xml.bind.WhiteSpaceProcessor.collapse(value));
+                has_Admin = true;
+            } catch (java.lang.Exception e) {
+                handleParseConversionException(e);
+            }
+        }
+
+        public void leaveElement(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        revertToParentFromLeaveElement(___uri, ___local, ___qname);
+                        return ;
+                    case  5 :
+                        if (("acting-user" == ___local)&&("http://msqr.us/xsd/ieat" == ___uri)) {
+                            context.popAttributes();
+                            state = 6;
+                            return ;
+                        }
+                        break;
+                    case  4 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveElement(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveElement(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void enterAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  0 :
+                        if (("admin" == ___local)&&("" == ___uri)) {
+                            state = 1;
+                            return ;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        revertToParentFromEnterAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  4 :
+                        if (("accessLevel" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("country" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("createdDate" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("language" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("lastLoginDate" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("login" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        if (("userId" == ___local)&&("" == ___uri)) {
+                            _ActingUser = ((magoffin.matt.ieat.domain.impl.UserImpl) spawnChildFromEnterAttribute((magoffin.matt.ieat.domain.impl.UserImpl.class), 5, ___uri, ___local, ___qname));
+                            return ;
+                        }
+                        break;
+                }
+                super.enterAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void leaveAttribute(java.lang.String ___uri, java.lang.String ___local, java.lang.String ___qname)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                switch (state) {
+                    case  2 :
+                        if (("admin" == ___local)&&("" == ___uri)) {
+                            state = 3;
+                            return ;
+                        }
+                        break;
+                    case  3 :
+                        state = 6;
+                        continue outer;
+                    case  0 :
+                        attIdx = context.getAttribute("", "admin");
+                        if (attIdx >= 0) {
+                            final java.lang.String v = context.eatAttribute(attIdx);
+                            state = 3;
+                            eatText1(v);
+                            continue outer;
+                        }
+                        state = 3;
+                        continue outer;
+                    case  6 :
+                        revertToParentFromLeaveAttribute(___uri, ___local, ___qname);
+                        return ;
+                    case  4 :
+                        attIdx = context.getAttribute("", "accessLevel");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "country");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "createdDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "language");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "lastLoginDate");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "login");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        attIdx = context.getAttribute("", "userId");
+                        if (attIdx >= 0) {
+                            context.consumeAttribute(attIdx);
+                            context.getCurrentHandler().leaveAttribute(___uri, ___local, ___qname);
+                            return ;
+                        }
+                        break;
+                }
+                super.leaveAttribute(___uri, ___local, ___qname);
+                break;
+            }
+        }
+
+        public void handleText(final java.lang.String value)
+            throws org.xml.sax.SAXException
+        {
+            int attIdx;
+            outer:
+            while (true) {
+                try {
+                    switch (state) {
+                        case  3 :
+                            state = 6;
+                            continue outer;
+                        case  0 :
+                            attIdx = context.getAttribute("", "admin");
+                            if (attIdx >= 0) {
+                                final java.lang.String v = context.eatAttribute(attIdx);
+                                state = 3;
+                                eatText1(v);
+                                continue outer;
+                            }
+                            state = 3;
+                            continue outer;
+                        case  6 :
+                            revertToParentFromText(value);
+                            return ;
+                        case  1 :
+                            state = 2;
+                            eatText1(value);
+                            return ;
+                        case  4 :
+                            attIdx = context.getAttribute("", "accessLevel");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "country");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "createdDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "language");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "lastLoginDate");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "login");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            attIdx = context.getAttribute("", "userId");
+                            if (attIdx >= 0) {
+                                context.consumeAttribute(attIdx);
+                                context.getCurrentHandler().text(value);
+                                return ;
+                            }
+                            break;
+                    }
+                } catch (java.lang.RuntimeException e) {
+                    handleUnexpectedTextException(value, e);
+                }
+                break;
+            }
+        }
+
+    }
+
+}

Some files were not shown because too many files changed in this diff