document.write("<div class=\"pastie\">\n");
document.write("  <link href=\"http://pastie.org/stylesheets/embed.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  <link href=\"http://pastie.org/stylesheets/clean.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />\n");
document.write("  \n");
document.write("\n");
document.write("  \n");
document.write("  \n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("\n");
document.write("	\n");
document.write("	<div class=\"allcode\">\n");
document.write("		<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n");
document.write("		<tr>\n");
document.write("			<td>\n");
document.write("				\n");
document.write("				<pre class=\"textmate-source-numbers\">1\n");
document.write("2\n");
document.write("3\n");
document.write("4\n");
document.write("5\n");
document.write("6\n");
document.write("7\n");
document.write("8\n");
document.write("9\n");
document.write("10\n");
document.write("11\n");
document.write("12\n");
document.write("13\n");
document.write("14\n");
document.write("15\n");
document.write("16\n");
document.write("17\n");
document.write("18\n");
document.write("19\n");
document.write("20\n");
document.write("21\n");
document.write("22\n");
document.write("23\n");
document.write("24\n");
document.write("25\n");
document.write("26\n");
document.write("27\n");
document.write("28\n");
document.write("29\n");
document.write("30\n");
document.write("31\n");
document.write("32\n");
document.write("33\n");
document.write("34\n");
document.write("35\n");
document.write("36\n");
document.write("37\n");
document.write("38\n");
document.write("39\n");
document.write("<\/pre>\n");
document.write("			<\/td>\n");
document.write("		<td>\n");
document.write("		<pre class=\"textmate-source\"><pre class=\"sunburst\">package com.kalengibbons.singletonPattern.model{\n");
document.write("\n");
document.write("	<span class=\'keyword keyword_control keyword_control_actionscript\'>import<\/span> com.kalengibbons.singletonPattern.vo.<span class=\'support support_class support_class_actionscript\'>Product<\/span>;\n");
document.write("	\n");
document.write("	<span class=\'keyword keyword_control keyword_control_actionscript\'>import<\/span> flash.errors.IllegalOperationError;\n");
document.write("	\n");
document.write("	[Bindable]\n");
document.write("	<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'meta meta_class meta_class_actionscript\'><span class=\'storage storage_type storage_type_class storage_type_class_actionscript\'>class<\/span> <span class=\'entity entity_name entity_name_type entity_name_type_class entity_name_type_class_actionscript\'>ShoppingCart<\/span><\/span>{\n");
document.write("\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>var<\/span> productCount<span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span><span class=\'support support_function support_function_actionscript\'>int<\/span> <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> <span class=\'constant constant_numeric constant_numeric_actionscript\'>0<\/span>;\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>var<\/span> productTotal<span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span><span class=\'storage storage_type storage_type_actionscript\'>Number<\/span> <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> <span class=\'constant constant_numeric constant_numeric_actionscript\'>0<\/span>;\n");
document.write("		\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>private<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>static<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>var<\/span> instance<span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span>ShoppingCart;		\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>private<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>var<\/span> productsInCart<span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span><span class=\'support support_class support_class_actionscript\'>Array<\/span> <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> [];\n");
document.write("		\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'meta meta_function meta_function_actionscript\'><span class=\'storage storage_type storage_type_function storage_type_function_asp\'>function<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_asp\'>ShoppingCart<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_asp\'>enforcer:SingletonEnforcer<\/span>)<\/span>{\n");
document.write("			<span class=\'keyword keyword_control keyword_control_actionscript\'>if<\/span>(instance <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>!<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> <span class=\'constant constant_language constant_language_actionscript\'>null<\/span>)\n");
document.write("				<span class=\'support support_function support_function_actionscript\'>throw<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>new<\/span> IllegalOperationError(<span class=\'string string_quoted string_quoted_double string_quoted_double_actionscript\'>&quot;Singleton class cannot instantiate more than one instance.&quot;<\/span>);\n");
document.write("		}<span class=\'comment comment_line comment_line_double-slash comment_line_double-slash_actionscript\'>// end constructor<\/span>\n");
document.write("\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>static<\/span> <span class=\'meta meta_function meta_function_actionscript\'><span class=\'storage storage_type storage_type_function storage_type_function_asp\'>function<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_asp\'>getInstance<\/span>()<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span>ShoppingCart{\n");
document.write("			<span class=\'keyword keyword_control keyword_control_actionscript\'>if<\/span>(instance <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> <span class=\'constant constant_language constant_language_actionscript\'>null<\/span>){\n");
document.write("				instance <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> <span class=\'keyword keyword_control keyword_control_actionscript\'>new<\/span> ShoppingCart( <span class=\'keyword keyword_control keyword_control_actionscript\'>new<\/span> SingletonEnforcer() );\n");
document.write("			}\n");
document.write("			\n");
document.write("			<span class=\'keyword keyword_control keyword_control_actionscript\'>return<\/span> instance;\n");
document.write("		}<span class=\'comment comment_line comment_line_double-slash comment_line_double-slash_actionscript\'>// end getInstance function<\/span>\n");
document.write("		\n");
document.write("		<span class=\'keyword keyword_control keyword_control_actionscript\'>public<\/span> <span class=\'meta meta_function meta_function_actionscript\'><span class=\'storage storage_type storage_type_function storage_type_function_asp\'>function<\/span> <span class=\'entity entity_name entity_name_function entity_name_function_asp\'>addProduct<\/span>(<span class=\'variable variable_parameter variable_parameter_function variable_parameter_function_asp\'>product:Product<\/span>)<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>:<\/span><span class=\'support support_function support_function_actionscript\'>void<\/span>{\n");
document.write("			productCount<span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>+<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>+<\/span>;\n");
document.write("			productTotal <span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>+<\/span><span class=\'keyword keyword_operator keyword_operator_symbolic keyword_operator_symbolic_actionscript\'>=<\/span> product.price;\n");
document.write("			productsInCart.<span class=\'support support_function support_function_actionscript\'>push<\/span>(product);\n");
document.write("		}<span class=\'comment comment_line comment_line_double-slash comment_line_double-slash_actionscript\'>// end addProduct function		<\/span>\n");
document.write("\n");
document.write("	}<span class=\'comment comment_line comment_line_double-slash comment_line_double-slash_actionscript\'>// end ShoppingCart class<\/span>\n");
document.write("	\n");
document.write("}<span class=\'comment comment_line comment_line_double-slash comment_line_double-slash_actionscript\'>// end package enclosure<\/span>\n");
document.write("\n");
document.write("<span class=\'meta meta_class meta_class_actionscript\'><span class=\'storage storage_type storage_type_class storage_type_class_actionscript\'>class<\/span> <span class=\'entity entity_name entity_name_type entity_name_type_class entity_name_type_class_actionscript\'>SingletonEnforcer<\/span><\/span>{}\n");
document.write("<\/pre><\/pre>\n");
document.write("		<\/td>\n");
document.write("		<\/tr>\n");
document.write("		<\/table>\n");
document.write("	\n");
document.write("	<\/div>\n");
document.write("\n");
document.write("\n");
document.write("  \n");
document.write("  \n");
document.write("  <div class=\"credit\">\n");
document.write("    <div class=\"buttons\">\n");
document.write("      <a href=\"http://pastie.org/pastes/862699.txt\">\n");
document.write("      <img src=\"http://pastie.org/images/view.png\" height=\"20\" width=\"67\" /><\/a>\n");
document.write("    <\/div>\n");
document.write("  \n");
document.write("    <a href=\"http://pastie.org/862699\">Pastie #862699<\/a> linked directly from <a href=\"http://pastie.org/\">Pastie<\/a>.\n");
document.write("  <\/div><\/div>");

