format 75
"database" // iplan::database
  revision 44
  modified_by 5 "jviqueira"
  // class settings
  //class diagram settings
  draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
  //use case diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default class_drawing_mode default shadow default show_stereotype_properties default
  //sequence diagram settings
  show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
  //collaboration diagram settings
  show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
  //object diagram settings
   write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
  //component diagram settings
  package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //deployment diagram settings
  package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
  draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
  //state diagram settings
  package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
  show_activities default region_horizontally default drawing_language default show_stereotype_properties default
  //activity diagram settings
  package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
  show_infonote default drawing_language default show_stereotype_properties default
  
  php_dir "iplan/database"
  classview 141061 "Database Diagram"
    //class diagram settings
    draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
    //collaboration diagram settings
    show_full_operations_definition default show_hierarchical_rank default write_horizontally default drawing_language default package_name_in_tab default show_context default show_msg_context default draw_all_relations default shadow default show_stereotype_properties default
    //object diagram settings
     write_horizontally default package_name_in_tab default show_context default auto_label_position default draw_all_relations default shadow default show_stereotype_properties default
    //sequence diagram settings
    show_full_operations_definition default write_horizontally default class_drawing_mode default drawing_language default draw_all_relations default shadow default show_stereotype_properties default show_class_context_mode default show_msg_context_mode default
    //state diagram settings
    package_name_in_tab default show_context default auto_label_position default write_trans_label_horizontally default show_trans_definition default draw_all_relations default shadow default
    show_activities default region_horizontally default drawing_language default show_stereotype_properties default
    //class settings
    //activity diagram settings
    package_name_in_tab default show_context default show_opaque_action_definition default auto_label_position default write_flow_label_horizontally default draw_all_relations default shadow default
    show_infonote default drawing_language default show_stereotype_properties default
    associated_deployment_view deploymentview_ref 141317 // Database Deployment
    comment "TODO: como hay cosas que no se pueden hacer en algunos motores de base de datos y es necesario emularlo, se deben implementar los objetos atmicos con los cuales se interactua al usar esta abstraccin: Query y PreparedStatement (quiz ResultSet).
Con esa filosofa, se debera implementar una INTERFAZ Query y una INTERFAZ PreparedStatement los mtodos de Query"
    classdiagram 147717 "Connection Classes"
      draw_all_relations default hide_attributes default hide_operations default hide_getset_operations default show_members_full_definition default show_members_visibility default show_members_stereotype default show_members_context default show_members_multiplicity default show_members_initialization default show_attribute_modifiers default member_max_width 0 show_parameter_dir default show_parameter_name default package_name_in_tab default class_drawing_mode default drawing_language default show_context_mode default auto_label_position default show_relation_modifiers default show_relation_visibility default show_infonote default shadow default show_stereotype_properties default
      size A4-Landscape
    end

    class 167429 "DataBaseManager"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Es la capa de abstraccin de datos. Pose las funciones bsicas y necesarias para hacer consultas, manejar conexiones y previene el SQL Inyection."
      classrelation 244101 // connections (<unidirectional association>)
	relation 243589 --->
	  a role_name "connections" multiplicity "*" init_value "array" private
	    comment "Coleccin de las conexiones abiertas"
	    php "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	    classrelation_ref 244101 // connections (<unidirectional association>)
	  b parent class_ref 174341 // Connection
      end
    end

    class 174341 "Connection"
      abstract visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      comment "Una conexion es un objeto orientado a base de datos que conserva un estado y a la vez sabe como \"hablar\" con su base de datos, proveyendo una interfaz comn a tal fin.
Inicialmente se pens un esquema de Driver y Connection como conceptos separados pero eso generaba la necesidad de una clase intermedia que supiera de ambas o que la clase Connection tuviera un Driver y proveyera una interfaz muy similar a la que ahora existe (doble trabajo de escritura de interfaz).
Se opt por este esquema que simplifica el mantenimiento y es menos complicado de entender."
      attribute 189829 "M_NOT_ASSOCIATIVE"
	const_attribute package explicit_type ""
	init_value "1"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 189957 "M_ASSOCIATIVE"
	const_attribute package explicit_type ""
	init_value "2"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 315397 "T_ARRAY"
	const_attribute package explicit_type "int"
	init_value "1"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190725 "T_BLOB"
	const_attribute package explicit_type "int"
	init_value "10"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 424325 "T_BINARY"
	const_attribute package explicit_type "int"
	init_value "15"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190981 "T_BINARY_FILE"
	const_attribute package explicit_type "int"
	init_value "20"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190853 "T_CBLOB"
	const_attribute package explicit_type "int"
	init_value "30"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190213 "T_CHAR"
	const_attribute package explicit_type "int"
	init_value "40"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 191109 "T_CHARACTER_FILE"
	const_attribute package explicit_type "int"
	init_value "50"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190341 "T_CURSOR"
	const_attribute package explicit_type "int"
	init_value "60"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 191237 "T_CUSTOM"
	const_attribute package explicit_type "int"
	init_value "70"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190469 "T_LONG"
	const_attribute package explicit_type "int"
	init_value "80"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190597 "T_INT"
	const_attribute package explicit_type "int"
	init_value "90"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 190085 "T_VARCHAR"
	const_attribute package explicit_type "int"
	init_value "100"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 219141 "TR_DEFAULT"
	const_attribute package explicit_type "int"
	init_value "-1"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 218885 "TR_AUTO_COMMIT"
	const_attribute package explicit_type "int"
	init_value "1"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 219013 "TR_NO_AUTO_COMMIT"
	const_attribute package explicit_type "int"
	init_value "2"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 182661 "host"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "El nombre o la IP del host al cual se desea conectar"
      end

      attribute 182789 "port"
	private explicit_type "int"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 182917 "schema"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "El nombre del esquema de base de datos al que queremos acceder"
      end

      attribute 183045 "user"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "El nombre de usuario con el cual se establece la conexin"
      end

      attribute 183173 "password"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "La clave del usuario con el que se establece la conexin"
      end

      attribute 183301 "protocol"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "El protocolo o tipo de conexin a establecer"
      end

      classrelation 251013 // <dependency>
	relation 250373 -_->
	  a private
	    php "${type}"
	    classrelation_ref 251013 // <dependency>
	  b parent class_ref 208517 // Query
      end

      operation 199045 "affectedRows"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Recupera la cantidad de filas afectadas (modificadas) por la ltima operacin"
      end

      operation 200325 "beginTransaction"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Inicia una transaccin"
      end

      operation 185093 "bind"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 6
	  param in name "preparedStatement" explicit_type "resource"
	  param in name "name" explicit_type "string"
	  param inout name "value" explicit_type "mixed"
	  param in name "size" explicit_type "int"
	    defaultvalue "-1"
	  param in name "type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	  param in name "element_type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)};"
	preserve_python_body_indent 
	
	comment "Asocia el valor de $value a la variable $name del prepared statement. Para ello se debe indicar adems el tamao (-1 para que tome el sizeof() de $value) y el tipo de datos.
En el caso que el type sea ARRAY se debe especificar el tipo de los elementos"
      end

      operation 177413 "close"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Cierra la conexin si est abierta"
      end

      operation 200069 "commit"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Hace un commit de los cambios hasta el momento"
      end

      operation 177157 "connect"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Establece la conexin con los parmetros que posee registrados en la clase"
      end

      operation 248837 "createCursor"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "resource"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Crea un cursor sobre la conexin especificada"
      end

      operation 199429 "execute"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 2
	  param in name "statement" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::TR_DEFAULT"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta el sql indicado y retorna lo que devuelva"
      end

      operation 184581 "executeFunction"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed"
	nparams 5
	  param in name "name" explicit_type "string"
	  param inout name "params" explicit_type "array"
	  param inout name "result" explicit_type "mixed"
	    defaultvalue "null"
	  param in name "type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	  param in name "size" explicit_type "int"
	    defaultvalue "-1"
	nexceptions 1
	  exception class_ref 181765 // And
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta una funcin en la base de datos y retorna el valor.
Es posible, indicar la variable en la cual queremos bindear el resultado, su tipo y tamao en caso de ser necesario. Si la misma no se especifica se utiliza un valor interno y se retorna una copia del valor del resultado.-"
      end

      operation 184453 "executeProcedure"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 2
	  param in name "name" explicit_type "string"
	  param inout name "params" explicit_type "array"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta el procedimiento bindeando los valores de los parmetros en el orden en que se encuentren"
      end

      operation 184837 "fetch"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "array"
	nparams 2
	  param in name "resource" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::M_ASSOCIATIVE"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Restorna una fila del conjunto de resultados en un arreglo indexado como se indique en $mode y avanza una posicin el cursor del $resource"
      end

      operation 184709 "fetchAll"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 4
	  param in name "resource" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::M_ASSOCIATIVE"
	  param in name "offset" explicit_type "int"
	    defaultvalue "0"
	  param in name "count" explicit_type "int"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un arreglo con los registros recuperados de la consulta. Se provee la facilidad de indicar que se saltee tantos registros como se indiquen en $offest y que se recuperen slo una cierta cantidad de ellos; se una -1 en caso de querer recuperar todas las filas disponibles desde $offset.
En forma predeterminada retorna un arreglo asociativo, lo cual puede cambiarse con el parmetro $mode."
      end

      operation 199557 "free"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param inout name "resource" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Libera un recurso previamente asignado."
      end

      operation 199813 "isConnected"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna true si la conexin est activa o false en caso contrario"
      end

      operation 177541 "lastError"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "string"
	nparams 1
	  param in name "over" explicit_type "resource"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un texto que describe el ltimo error que sucedi en la conexin. Si se desea se puede acompaar del handler que retorno la funcin que fall o de lo contrario se retorna el ltimo error que se dio en la conexin."
      end

      operation 177669 "lastErrorCode"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "over" explicit_type "resource"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el cdigo del ltimo error que se present en la conexin o en el handler del parmetro"
      end

      operation 199941 "nextResultset"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "handler" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Salta al siguiente conjunto de resultados"
      end

      operation 199301 "numColumns"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el nmero de columnas del handler del query especificado"
      end

      operation 199173 "numRows"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el nmero de filas que devolvi el query especificado"
      end

      operation 184965 "prepareStatement"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "resource"
	nparams 1
	  param in name "sql" explicit_type "string"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un handler a un prepared statement"
      end

      operation 184325 "query"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "resource"
	nparams 1
	  param in name "sql" explicit_type "string"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta la instruccin SQL y retorna el resultado."
      end

      operation 200197 "rollback"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Si el motor de la base de datos lo soporta, hace un rollback de la ltima transaccin"
      end

      operation 199685 "status"
	abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna la informacin de status del motor"
      end

      operation 228997 "__destruct"
	force_body_gen preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Cierra la conexin antes de destruir el objeto"
      end
    end

    class 201989 "OracleConnection"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      ncouples 3
      key "other_requires" value ""
      key "modified" value "2010-08-26"
      key "changes_history" value "2010-08-26    Se agreg el mtodo createCursor(), se modific el mtodo execute()"
      comment "Concrecin de una conexin Oracle"
      attribute 205061 "host"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205189 "port"
	private explicit_type "int"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205317 "schema"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205445 "user"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205573 "password"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 212357 "oraTypes"
	class_attribute private explicit_type "array"
	init_value "array(
	Connection::T_BLOB => SQLT_BLOB,
	Connection::T_BINARY =>  SQLT_BIN,
	Connection::T_BINARY_FILE => SQLT_BFILEE,
	Connection::T_CBLOB => SQLT_CLOB,
	Connection::T_CHAR => SQLT_CHR,
	Connection::T_CHARACTER_FILE => SQLT_CFILEE,
	Connection::T_CURSOR => SQLT_RSET,
	Connection::T_CUSTOM => SQLT_NTY,
	Connection::T_LONG => SQLT_LNG,
	Connection::T_INT => SQLT_INT,
	Connection::T_VARCHAR=>SQLT_CHR
)"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "Un arreglo que permite un acceso rpido a los tipos de datos nativos"
      end

      attribute 219269 "oraTransactionModes"
	class_attribute private explicit_type "array"
	init_value "array(Connection::TR_DEFAULT=>OCI_DEFAULT,
         Connection::TR_AUTO_COMMIT=>OCI_COMMIT_ON_SUCCESS,
	 Connection::TR_NO_AUTO_COMMIT=>OCI_DEFAULT)"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205701 "session_mode"
	private explicit_type "string"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
      end

      attribute 205829 "connection"
	private explicit_type "resource"
	init_value "null"
	cpp_decl ""
	java_decl ""
	php_decl "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	python_decl ""
	idl_decl ""
	comment "Almacena temporalmente la conexin"
      end

      classrelation 216069 // <generalisation>
	relation 215557 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 216069 // <generalisation>
	  b parent class_ref 174341 // Connection
      end

      operation 222085 "__construct"
	class_operation preserve_cpp_body_indent public return_type class_ref 201989 // OracleConnection
	nparams 6
	  param in name "host" explicit_type "string"
	  param in name "port" explicit_type "int"
	  param in name "schema" explicit_type "string"
	  param in name "user" explicit_type "string"
	  param in name "password" explicit_type "string"
	  param in name "session_mode" explicit_type "string"
	    defaultvalue "OCI_DEFAULT"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Crea una instancia del objeto en base a los datos especificados"
      end

      operation 255493 "__destruct"
	force_body_gen preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Cierra la conexin antes de destruir el objeto"
      end

      operation 235525 "affectedRows"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Recupera la cantidad de filas afectadas (modificadas) por la ltima operacin"
      end

      operation 206981 "beginTransaction"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Inicia una transaccin"
      end

      operation 242181 "bind"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 6
	  param in name "preparedStatement" explicit_type "resource"
	  param in name "name" explicit_type "string"
	  param inout name "value" explicit_type "mixed"
	  param in name "size" explicit_type "int"
	    defaultvalue "-1"
	  param in name "type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	  param in name "element_type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
      end

      operation 207237 "close"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Cierra la conexin si est abierta"
      end

      operation 207365 "commit"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Hace un commit de los cambios hasta el momento"
      end

      operation 207493 "connect"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Establece la conexin con los parmetros que posee registrados en la clase"
      end

      operation 515589 "createCollection"
	preserve_cpp_body_indent public explicit_return_type "resource"
	nparams 2
	  param in name "type" explicit_type "string"
	  param in name "schema" explicit_type "string"
	    defaultvalue "NULL"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Crea una collection basada en el tipo de datos indicado

@param string $param el nombre del tipo de datos asociado. Generalmente es un TYPE personalizado.
@param string $schema el nombre de la base de datos (su esquema)
@return resource|false un puntero al recurso o false en caso de problemas"
      end

      operation 248965 "createCursor"
	preserve_cpp_body_indent public explicit_return_type "resource"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Crea un cursor sobre la conexin especificada"
      end

      operation 207621 "execute"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 2
	  param in name "statement" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::TR_DEFAULT"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta el sql indicado y retorna lo que devuelva"
      end

      operation 248709 "executeFunction"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed"
	nparams 5
	  param in name "name" explicit_type "string"
	  param inout name "params" explicit_type "array"
	  param inout name "result" explicit_type "mixed"
	    defaultvalue "null"
	  param in name "type" explicit_type "int"
	    defaultvalue "Connection::T_VARCHAR"
	  param in name "size" explicit_type "int"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta una funcin en la base de datos y retorna el valor.
Es posible, indicar la variable en la cual queremos bindear el resultado, su tipo y tamao en caso de ser necesario. Si la misma no se especifica se utiliza un valor interno y se retorna una copia del valor del resultado.-"
      end

      operation 228869 "executeProcedure"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 2
	  param in name "name" explicit_type "string"
	  param inout name "params" explicit_type "array"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta el procedimiento bindeando los valores de los parmetros en el orden en que se encuentren"
      end

      operation 208133 "fetch"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "array"
	nparams 2
	  param in name "resource" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::M_ASSOCIATIVE"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Restorna una fila del conjunto de resultados en un arreglo indexado como se indique en $mode y avanza una posicin el cursor del $resource"
      end

      operation 208261 "fetchAll"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type ""
	nparams 4
	  param in name "resource" explicit_type "resource"
	  param in name "mode" explicit_type "int"
	    defaultvalue "Connection::M_ASSOCIATIVE"
	  param in name "offset" explicit_type "int"
	    defaultvalue "0"
	  param in name "count" explicit_type "int"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un arreglo con los registros recuperados de la consulta. Se provee la facilidad de indicar que se saltee tantos registros como se indiquen en $offest y que se recuperen slo una cierta cantidad de ellos; se una -1 en caso de querer recuperar todas las filas disponibles desde $offset.
En forma predeterminada retorna un arreglo asociativo, lo cual puede cambiarse con el parmetro $mode."
      end

      operation 208389 "free"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param inout name "resource" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Libera un recurso previamente asignado."
      end

      operation 208517 "isConnected"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna true si la conexin est activa o false en caso contrario"
      end

      operation 208645 "lastError"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "string"
	nparams 1
	  param in name "over" explicit_type "resource"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un texto que describe el ltimo error que sucedi en la conexin. Si se desea se puede acompaar del handler que retorno la funcin que fall o de lo contrario se retorna el ltimo error que se dio en la conexin."
      end

      operation 208773 "lastErrorCode"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "over" explicit_type "resource"
	    defaultvalue "-1"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el cdigo del ltimo error que se present en la conexin o en el handler del parmetro"
      end

      operation 208901 "nextResultset"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 1
	  param in name "handler" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Salta al siguiente conjunto de resultados"
      end

      operation 209029 "numColumns"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el nmero de columnas del handler del query especificado"
      end

      operation 209157 "numRows"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "int"
	nparams 1
	  param in name "query" explicit_type "resource"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna el nmero de filas que devolvi el query especificado"
      end

      operation 209285 "prepareStatement"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "resource"
	nparams 1
	  param in name "sql" explicit_type "string"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna un handler a un prepared statement"
      end

      operation 209413 "query"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "resource"
	nparams 1
	  param in name "sql" explicit_type "string"
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Ejecuta la instruccin SQL y retorna el resultado."
      end

      operation 209541 "rollback"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Si el motor de la base de datos lo soporta, hace un rollback de la ltima transaccin"
      end

      operation 209669 "status"
	preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed"
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
	comment "Retorna la informacin de status del motor"
      end
    end

    class 208517 "Query"
      abstract visibility package 
      cpp_decl ""
      java_decl "${comment}${@}${visibility}interface ${name}${extends} {
${members}}
"
      php_decl "${comment}${visibility}interface ${name} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl "${comment}${abstract}${local}interface ${name}${inherit} {
${members}};
"
      explicit_switch_type ""
      
      comment "Usar tipo State Pattern (siempre retorna self)
Bue... ver en que mtodos, en particular puede ser en .bind(var, value) y algunos as"
      operation 262021 "affectedRows"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};"
	preserve_python_body_indent 
	
      end

      classrelation 243589 // <unidirectional association>
	relation 243077 --->
	  a role_name "" private
	    php "  ${comment}${visibility}${const}${static}${var}${name}${value};
"
	    classrelation_ref 243589 // <unidirectional association>
	  b parent class_ref 222341 // ResultSet
      end
    end

    class 208645 "OracleQuery"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 236165 // <generalisation>
	relation 235653 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 236165 // <generalisation>
	  b parent class_ref 208517 // Query
      end
    end

    class 215301 "Blob"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 215429 "Image"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 215557 "Clob"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 215685 "ExternalFile"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 222213 "mySQLQuery"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 236293 // <generalisation>
	relation 235781 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 236293 // <generalisation>
	  b parent class_ref 208517 // Query
      end
    end

    class 222341 "ResultSet"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
    end

    class 222469 "OracleResultSet"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 236421 // <generalisation>
	relation 235909 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 236421 // <generalisation>
	  b parent class_ref 222341 // ResultSet
      end
    end

    class 228997 "mySQLConnection"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243077 // <generalisation>
	relation 242565 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 243077 // <generalisation>
	  b parent class_ref 174341 // Connection
      end
    end

    class 229125 "PreparedStatement"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243205 // <generalisation>
	relation 242693 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 243205 // <generalisation>
	  b parent class_ref 208517 // Query
      end
    end

    class 229253 "OraclePreparedStatement"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243333 // <generalisation>
	relation 242821 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 243333 // <generalisation>
	  b parent class_ref 229125 // PreparedStatement
      end
    end

    class 229381 "mySQLPreparedStatement"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243461 // <generalisation>
	relation 242949 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 243461 // <generalisation>
	  b parent class_ref 229125 // PreparedStatement
      end
    end

    class 229509 "mySQLResultSet"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 243845 // <generalisation>
	relation 243333 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 243845 // <generalisation>
	  b parent class_ref 222341 // ResultSet
      end
    end

    class 229765 "MultipleQuery"
      visibility package 
      cpp_decl ""
      java_decl ""
      php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} {
${members}}
"
      python_2_2 python_decl ""
      idl_decl ""
      explicit_switch_type ""
      
      classrelation 244229 // <generalisation>
	relation 243717 ---|>
	  a public
	    php "${type}"
	    classrelation_ref 244229 // <generalisation>
	  b parent class_ref 208517 // Query
      end

      operation 268549 "nextResultSet"
	preserve_cpp_body_indent public explicit_return_type ""
	nparams 0
	
	preserve_java_body_indent 
	preserve_php_body_indent php_def "  ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}
{
  ${body}}
"
	preserve_python_body_indent 
	
      end
    end
  end

  deploymentview 141317 "Database Deployment"
    //deployment diagram settings
    package_name_in_tab default show_context default write_horizontally default auto_label_position default draw_all_relations default shadow default
    draw_component_as_icon default show_component_req_prov default show_component_rea default show_stereotype_properties default
    ncouples 1
    key "uses" value ""
    artifact 158597 "OracleConnection"
      stereotype "source"
      php_src "<?php
${require_once}
@{uses}

/**
* Author: Jorge Alexis Viqueira
* ${description}
*/
${definition}
?>"
      associated_classes
	class_ref 201989 // OracleConnection
      end
      ncouples 4
      key "other_requires" value "require_once \"Connection.php\";"
      key "date" value "2010-08-24"
      key "modified" value "2010-08-26"
      key "change_history" value "2010-08-26    Se agreg el mtodo createCursor(), se modific el mtodo execute()"
    end

    artifact 165125 "Connection"
      stereotype "source"
      php_src "<?php
${require_once}
@{uses}

/**
* Author: Jorge Alexis Viqueira
* ${description}
*/
${definition}
?>"
      associated_classes
	class_ref 174341 // Connection
      end
    end
  end

  package_ref 154373 // sql
end
