/**
  * Rutina para serializar a XMLRPC
  *
  * @param __struct__ Tabla hash donde se aqade el contenido del bean
  * @return Hashtable que contiene los datos del bean en la forma clave/valor
  */
 protected Object toRPC(java.util.Hashtable __struct__) {
   java.util.Vector __vector_subproperties = new java.util.Vector();
   for (int __i__ = 0; __i__ < subproperties.size(); __i__++) {
     org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement __object__ =
         (org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement)
             subproperties.elementAt(__i__);
     __vector_subproperties.addElement(__object__.toRPC());
   }
   __struct__.put("subproperties", __vector_subproperties);
   return __struct__;
 }
 /**
  * Genera un csdigo hash para el bean basandose en todos los atributos
  *
  * @return Retorna el csdigo hash del bean
  */
 public int hashCode() {
   // empezamos con un nzmero primo cualquiera
   int code = 7;
   // Concatenar con el hashcode del atributo literalProperties
   for (int i = 0; i < literalProperties.size(); i++) {
     code = tdi.gen.TdiHashcode.concat(code, this.getLiteralProperties(i));
   }
   // Concatenar con el hashcode del atributo objectProperties
   for (int i = 0; i < objectProperties.size(); i++) {
     code = tdi.gen.TdiHashcode.concat(code, this.getObjectProperties(i));
   }
   return code;
 }
 /**
  * Rutina para serializar a XMLRPC
  *
  * @param __struct__ Tabla hash donde se aqade el contenido del bean
  * @return Hashtable que contiene los datos del bean en la forma clave/valor
  */
 protected Object toRPC(java.util.Hashtable __struct__) {
   java.util.Vector __vector_literalProperties = new java.util.Vector();
   for (int __i__ = 0; __i__ < literalProperties.size(); __i__++) {
     org.qualipso.advdoc.ws.client.retrieval.beans.LiteralProperty __object__ =
         (org.qualipso.advdoc.ws.client.retrieval.beans.LiteralProperty)
             literalProperties.elementAt(__i__);
     __vector_literalProperties.addElement(__object__.toRPC());
   }
   __struct__.put("literalProperties", __vector_literalProperties);
   java.util.Vector __vector_objectProperties = new java.util.Vector();
   for (int __i__ = 0; __i__ < objectProperties.size(); __i__++) {
     org.qualipso.advdoc.ws.client.retrieval.beans.ObjectProperty __object__ =
         (org.qualipso.advdoc.ws.client.retrieval.beans.ObjectProperty)
             objectProperties.elementAt(__i__);
     __vector_objectProperties.addElement(__object__.toRPC());
   }
   __struct__.put("objectProperties", __vector_objectProperties);
   return __struct__;
 }
 /**
  * Convierte el bean a una cadena TDI XML
  *
  * @param tag Tag XML del elemento ramz
  * @param indents Nzmero de espacios en blanco para indentar
  * @param ponerIndicesDeArrays Indica si los tags XML de los elementos de los arrays llevaran el
  *     mndice del elemento
  * @param escaparStrings Indica si hay que escapar los caracteres especiales en los strings
  * @return Cadena TDI XML
  */
 public String toXML(
     String tag, int indents, boolean ponerIndicesDeArrays, boolean escaparStrings) {
   StringBuffer xml = new StringBuffer();
   if (tag != null && tag.length() > 0) {
     xml.append(
         _indentar(indents)
             + "<"
             + tag
             + " type=\"GetSubProperties_resp\" package=\"org.qualipso.advdoc.ws.client.metadata.beans\">");
     xml.append("\n");
   } else if (tag != null && tag.length() == 0) {
     xml.append(_indentar(indents));
     xml.append("<?xml version='1.0' encoding='ISO-8859-1'?>\n");
     xml.append(
         _indentar(indents)
             + "<GetSubProperties_resp type=\"GetSubProperties_resp\" package=\"org.qualipso.advdoc.ws.client.metadata.beans\">");
     xml.append("\n");
   } else {
     indents--;
   }
   xml.append(
       _indentar(indents + 1)
           + "<subproperties type=\"org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement[]\" size=\""
           + this.subproperties.size()
           + "\">");
   xml.append("\n");
   for (int i = 0; i < this.subproperties.size(); i++) {
     String sufijo = (ponerIndicesDeArrays ? "" + i : "elemento");
     xml.append(
         ((org.qualipso.advdoc.ws.client.metadata.beans.ResourceElement)
                 subproperties.elementAt(i))
             .toXML(
                 "subproperties" + "_" + sufijo,
                 indents + 2,
                 ponerIndicesDeArrays,
                 escaparStrings));
     xml.append("\n");
   }
   xml.append(_indentar(indents + 1));
   xml.append("</subproperties>");
   xml.append("\n");
   if (tag != null && tag.length() > 0) {
     xml.append(_indentar(indents) + "</" + tag + ">");
   } else if (tag != null && tag.length() == 0) {
     xml.append(_indentar(indents) + "</GetSubProperties_resp>");
   }
   return xml.toString();
 }