📄 javaenumtypewriter.java
字号:
// FromValue returns the unique enumeration value object from the table pw.println(" public static " + javaName + " fromValue(" + baseType + " value)"); pw.println(" throws java.lang.IllegalArgumentException {"); pw.println(" " + javaName + " enumeration = (" + javaName + ")"); if (baseClass.equals("java.lang.String") || baseClass.equals(baseType)) { pw.println(" _table_.get(value);"); } else { pw.println(" _table_.get(new " + baseClass + "(value));"); } pw.println( " if (enumeration==null) throw new java.lang.IllegalArgumentException();"); pw.println(" return enumeration;"); pw.println(" }"); // FromString returns the unique enumeration value object from a string representation pw.println(" public static " + javaName + " fromString(java.lang.String value)"); pw.println(" throws java.lang.IllegalArgumentException {"); if (baseClass.equals("java.lang.String")) { pw.println(" return fromValue(value);"); } else if (baseClass.equals("javax.xml.namespace.QName")) { pw.println(" try {"); pw.println(" return fromValue(javax.xml.namespace.QName.valueOf" + "(value));"); pw.println(" } catch (Exception e) {"); pw.println( " throw new java.lang.IllegalArgumentException();"); pw.println(" }"); } else if (baseClass.equals(baseType)) { pw.println(" try {"); pw.println(" return fromValue(new " + baseClass + "(value));"); pw.println(" } catch (Exception e) {"); pw.println( " throw new java.lang.IllegalArgumentException();"); pw.println(" }"); } else if (baseClass.equals("java.lang.Character")) { pw.println(" if (value != null && value.length() == 1);"); pw.println(" return fromValue(value.charAt(0));"); pw.println( " throw new java.lang.IllegalArgumentException();"); } else if (baseClass.equals("java.lang.Integer")) { pw.println(" try {"); pw.println( " return fromValue(java.lang.Integer.parseInt(value));"); pw.println(" } catch (Exception e) {"); pw.println( " throw new java.lang.IllegalArgumentException();"); pw.println(" }"); } else { String parse = "parse" + baseClass.substring(baseClass.lastIndexOf(".") + 1); pw.println(" try {"); pw.println(" return fromValue(" + baseClass + "." + parse + "(value));"); pw.println(" } catch (Exception e) {"); pw.println( " throw new java.lang.IllegalArgumentException();"); pw.println(" }"); } pw.println(" }"); // Equals == to determine equality value. // Since enumeration values are singletons, == is appropriate for equals() pw.println( " public boolean equals(java.lang.Object obj) {return (obj == this);}"); // Provide a reasonable hashCode method (hashCode of the string value of the enumeration) pw.println( " public int hashCode() { return toString().hashCode();}"); // toString returns a string representation of the enumerated value if (baseClass.equals("java.lang.String")) { pw.println( " public java.lang.String toString() { return _value_;}"); } else if (baseClass.equals(baseType)) { pw.println( " public java.lang.String toString() { return _value_.toString();}"); } else { pw.println( " public java.lang.String toString() { return java.lang.String.valueOf(_value_);}"); } pw.println( " public java.lang.Object readResolve() throws java.io.ObjectStreamException { return fromValue(_value_);}"); pw.println( " public static org.apache.axis.encoding.Serializer getSerializer("); pw.println(" java.lang.String mechType, "); pw.println(" java.lang.Class _javaType, "); pw.println(" javax.xml.namespace.QName _xmlType) {"); pw.println(" return "); pw.println( " new org.apache.axis.encoding.ser.EnumSerializer("); pw.println(" _javaType, _xmlType);"); pw.println(" }"); pw.println( " public static org.apache.axis.encoding.Deserializer getDeserializer("); pw.println(" java.lang.String mechType, "); pw.println(" java.lang.Class _javaType, "); pw.println(" javax.xml.namespace.QName _xmlType) {"); pw.println(" return "); pw.println( " new org.apache.axis.encoding.ser.EnumDeserializer("); pw.println(" _javaType, _xmlType);"); pw.println(" }"); pw.println(" // " + Messages.getMessage("typeMeta")); pw.println( " private static org.apache.axis.description.TypeDesc typeDesc ="); pw.println(" new org.apache.axis.description.TypeDesc(" + Utils.getJavaLocalName(type.getName()) + ".class);"); pw.println(); pw.println(" static {"); pw.println(" typeDesc.setXmlType(" + Utils.getNewQName(type.getQName()) + ");"); pw.println(" }"); pw.println(" /**"); pw.println(" * " + Messages.getMessage("returnTypeMeta")); pw.println(" */"); pw.println( " public static org.apache.axis.description.TypeDesc getTypeDesc() {"); pw.println(" return typeDesc;"); pw.println(" }"); pw.println(); } // writeFileBody /** * Get the enumeration names for the values. * The name is affected by whether all of the values of the enumeration * can be expressed as valid java identifiers. * * @param bv Vector base and values vector from getEnumerationBaseAndValues * @return Vector names of enum value identifiers. */ public static Vector getEnumValueIds(Vector bv) { boolean validJava = true; // Assume all enum values are valid ids // Walk the values looking for invalid ids for (int i = 1; (i < bv.size()) && validJava; i++) { String value = (String) bv.get(i); if (!JavaUtils.isJavaId(value)) { validJava = false; } } // Build the vector of ids Vector ids = new Vector(); for (int i = 1; i < bv.size(); i++) { // If any enum values are not valid java, then // all of the ids are of the form value<1..N>. if (!validJava) { ids.add("value" + i); } else { ids.add((String) bv.get(i)); } } return ids; } /** Generate a java source file for enum class. * If the emitter works in deploy mode and the class already exists, the source wull not be generated. */ public void generate() throws IOException { String fqcn = getPackage() + "." + getClassName(); if (emitter.isDeploy()) { if (!emitter.doesExist(fqcn)) { super.generate(); } } else { super.generate(); } }} // class JavaEnumTypeWriter
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -