/*      */ public static String getConstructorForParam(
     Parameter param, SymbolTable symbolTable, BooleanHolder bThrow)
       /*      */ {
   /* 1244 */ String paramType = param.getType().getName();
   /*      */
   /* 1248 */ if (((param.isOmittable()) && (param.getType().getDimensions().equals("")))
       || (((param.getType() instanceof CollectionType))
           && (((CollectionType) param.getType()).isWrapped()))
       || (param.getType().getUnderlTypeNillable()))
   /*      */ {
     /* 1253 */ paramType = getWrapperType(param.getType());
     /*      */ }
   /*      */
   /* 1256 */ String mimeType = param.getMIMEInfo() == null ? null : param.getMIMEInfo().getType();
   /*      */
   /* 1259 */ String mimeDimensions =
       param.getMIMEInfo() == null ? "" : param.getMIMEInfo().getDimensions();
   /*      */
   /* 1262 */ String out = null;
   /*      */
   /* 1265 */ if (mimeType != null) {
     /* 1266 */ if ((mimeType.equals("image/gif")) || (mimeType.equals("image/jpeg")))
       /* 1267 */ return "null";
     /* 1268 */ if ((mimeType.equals("text/xml")) || (mimeType.equals("application/xml")))
     /*      */ {
       /* 1270 */ if (mimeDimensions.length() <= 0) {
         /* 1271 */ return "new javax.xml.transform.stream.StreamSource()";
         /*      */ }
       /* 1273 */ return "new javax.xml.transform.stream.StreamSource[0]";
       /*      */ }
     /* 1275 */ if ((mimeType.equals("application/octet-stream"))
         || (mimeType.equals("application/octetstream")))
     /*      */ {
       /* 1277 */ if (mimeDimensions.length() <= 0) {
         /* 1278 */ return "new org.apache.axis.attachments.OctetStream()";
         /*      */ }
       /* 1280 */ return "new org.apache.axis.attachments.OctetStream[0]";
       /*      */ }
     /*      */
     /* 1283 */ return "new " + getParameterTypeName(param) + "()";
     /*      */ }
   /*      */
   /* 1288 */ out = (String) constructorMap.get(paramType);
   /*      */
   /* 1290 */ if (out != null) {
     /* 1291 */ return out;
     /*      */ }
   /*      */
   /* 1295 */ out = (String) constructorThrowMap.get(paramType);
   /*      */
   /* 1297 */ if (out != null) {
     /* 1298 */ bThrow.value = true;
     /*      */
     /* 1300 */ return out;
     /*      */ }
   /*      */
   /* 1304 */ if (paramType.endsWith("[]")) {
     /* 1305 */ return "new " + JavaUtils.replace(paramType, "[]", "[0]");
     /*      */ }
   /*      */
   /* 1311 */ Vector v = getEnumerationBaseAndValues(param.getType().getNode(), symbolTable);
   /*      */
   /* 1314 */ if (v != null)
   /*      */ {
     /* 1317 */ String enumeration = (String) JavaEnumTypeWriter.getEnumValueIds(v).get(0);
     /*      */
     /* 1320 */ return paramType + "." + enumeration;
     /*      */ }
   /*      */
   /* 1323 */ if (param.getType().getRefType() != null)
   /*      */ {
     /* 1325 */ Vector v2 =
         getEnumerationBaseAndValues(param.getType().getRefType().getNode(), symbolTable);
     /*      */
     /* 1328 */ if (v2 != null)
     /*      */ {
       /* 1331 */ String enumeration = (String) JavaEnumTypeWriter.getEnumValueIds(v2).get(0);
       /*      */
       /* 1334 */ return paramType + "." + enumeration;
       /*      */ }
     /*      */
     /*      */ }
   /*      */
   /* 1339 */ return "new " + paramType + "()";
   /*      */ }
 /*      */ public static String holder(Parameter p, Emitter emitter) /*      */ {
   /*   82 */ String mimeType = p.getMIMEInfo() == null ? null : p.getMIMEInfo().getType();
   /*      */
   /*   85 */ String mimeDimensions = mimeType == null ? "" : p.getMIMEInfo().getDimensions();
   /*      */
   /*   90 */ if (mimeType != null) {
     /*   91 */ if ((mimeType.equals("image/gif")) || (mimeType.equals("image/jpeg")))
       /*   92 */ return "org.apache.axis.holders.ImageHolder" + mimeDimensions;
     /*   93 */ if (mimeType.equals("text/plain"))
       /*   94 */ return "javax.xml.rpc.holders.StringHolder" + mimeDimensions;
     /*   95 */ if (mimeType.startsWith("multipart/")) {
       /*   96 */ return "org.apache.axis.holders.MimeMultipartHolder" + mimeDimensions;
       /*      */ }
     /*   98 */ if ((mimeType.startsWith("application/octetstream"))
         || (mimeType.startsWith("application/octet-stream")))
     /*      */ {
       /*  100 */ return "org.apache.axis.holders.OctetStreamHolder" + mimeDimensions;
       /*      */ }
     /*  102 */ if ((mimeType.equals("text/xml")) || (mimeType.equals("application/xml")))
     /*      */ {
       /*  104 */ return "org.apache.axis.holders.SourceHolder" + mimeDimensions;
       /*      */ }
     /*  106 */ return "org.apache.axis.holders.DataHandlerHolder" + mimeDimensions;
     /*      */ }
   /*      */
   /*  111 */ TypeEntry type = p.getType();
   /*  112 */ String typeValue = type.getName();
   /*      */
   /*  116 */ if (((p.isOmittable()) && (p.getType().getDimensions().equals("")))
       || (((p.getType() instanceof CollectionType))
           && (((CollectionType) p.getType()).isWrapped()))
       || (p.getType().getUnderlTypeNillable()))
   /*      */ {
     /*  120 */ typeValue = getWrapperType(type);
     /*      */ }
   /*      */
   /*  125 */ if ((typeValue.equals("byte[]")) && (type.isBaseType()))
   /*      */ {
     /*  127 */ return "javax.xml.rpc.holders.ByteArrayHolder";
     /*      */ }
   /*      */
   /*  131 */ if (typeValue.endsWith("[]")) {
     /*  132 */ String name = emitter.getJavaName(type.getQName());
     /*  133 */ String packagePrefix = "";
     /*      */
     /*  137 */ if (((type instanceof CollectionType))
         && ((type.getRefType() instanceof BaseType)))
     /*      */ {
       /*  139 */ String uri = type.getRefType().getQName().getNamespaceURI();
       /*      */
       /*  143 */ if (TYPES.get(JavaUtils.replace(name, "[]", "")) != null) {
         /*  144 */ name = capitalizeFirstChar(name);
         /*      */ }
       /*      */
       /*  148 */ if ((((CollectionType) type).isWrapped())
           && (!typeValue.equals(type.getName()))) {
         /*  149 */ name = name + "Wrapper";
         /*      */ }
       /*      */
       /*  152 */ packagePrefix = emitter.getNamespaces().getCreate(uri, false);
       /*      */
       /*  154 */ if (packagePrefix == null) /*  155 */ packagePrefix = "";
       /*      */ else {
         /*  157 */ packagePrefix = packagePrefix + '.';
         /*      */ }
       /*      */ }
     /*  160 */ name = JavaUtils.replace(name, "java.lang.", "");
     /*      */
     /*  164 */ name = JavaUtils.replace(name, "[]", "Array");
     /*  165 */ name = addPackageName(name, "holders");
     /*      */
     /*  167 */ return packagePrefix + name + "Holder";
     /*      */ }
   /*      */
   /*  171 */ if (typeValue.equals("String"))
     /*  172 */ return "javax.xml.rpc.holders.StringHolder";
   /*  173 */ if (typeValue.equals("java.lang.String")) {
     /*  174 */ return "javax.xml.rpc.holders.StringHolder";
     /*      */ }
   /*      */
   /*  178 */ if (typeValue.equals("Object"))
     /*  179 */ return "javax.xml.rpc.holders.ObjectHolder";
   /*  180 */ if (typeValue.equals("java.lang.Object")) {
     /*  181 */ return "javax.xml.rpc.holders.ObjectHolder";
     /*      */ }
   /*      */
   /*  185 */ if ((typeValue.equals("int"))
       || (typeValue.equals("long"))
       || (typeValue.equals("short"))
       || (typeValue.equals("float"))
       || (typeValue.equals("double"))
       || (typeValue.equals("boolean"))
       || (typeValue.equals("byte")))
   /*      */ {
     /*  189 */ return "javax.xml.rpc.holders." + capitalizeFirstChar(typeValue) + "Holder";
     /*      */ }
   /*      */
   /*  194 */ if (typeValue.startsWith("java.lang.")) {
     /*  195 */ return "javax.xml.rpc.holders"
         + typeValue.substring(typeValue.lastIndexOf("."))
         + "WrapperHolder";
     /*      */ }
   /*      */
   /*  198 */ if (typeValue.indexOf(".") < 0) {
     /*  199 */ return "javax.xml.rpc.holders" + typeValue + "WrapperHolder";
     /*      */ }
   /*      */
   /*  204 */ if (typeValue.equals("java.math.BigDecimal"))
     /*  205 */ return "javax.xml.rpc.holders.BigDecimalHolder";
   /*  206 */ if (typeValue.equals("java.math.BigInteger"))
     /*  207 */ return "javax.xml.rpc.holders.BigIntegerHolder";
   /*  208 */ if (typeValue.equals("java.util.Date"))
     /*  209 */ return "org.apache.axis.holders.DateHolder";
   /*  210 */ if (typeValue.equals("java.util.Calendar"))
     /*  211 */ return "javax.xml.rpc.holders.CalendarHolder";
   /*  212 */ if (typeValue.equals("javax.xml.namespace.QName"))
     /*  213 */ return "javax.xml.rpc.holders.QNameHolder";
   /*  214 */ if (typeValue.equals("javax.activation.DataHandler")) {
     /*  215 */ return "org.apache.axis.holders.DataHandlerHolder";
     /*      */ }
   /*      */
   /*  219 */ if (typeValue.startsWith("org.apache.axis.types.")) {
     /*  220 */ int i = typeValue.lastIndexOf('.');
     /*  221 */ String t = typeValue.substring(i + 1);
     /*      */
     /*  223 */ return "org.apache.axis.holders." + t + "Holder";
     /*      */ }
   /*      */
   /*  229 */ return addPackageName(typeValue, "holders") + "Holder";
   /*      */ }