public void addWriteToParcel(JDefinedClass jclass) { JMethod method = jclass.method(JMod.PUBLIC, void.class, "writeToParcel"); JVar dest = method.param(jclass.owner().directClass("android.os.Parcel"), "dest"); method.param(int.class, "flags"); // Call super.writeToParcel if (extendsParcelable(jclass)) { method.body().directStatement("super.writeToParcel(dest, flags);"); } for (JFieldVar f : jclass.fields().values()) { if( (f.mods().getValue() & JMod.STATIC) == JMod.STATIC ) { continue; } if (f.type().erasure().name().equals("List")) { method.body().invoke(dest, "writeList").arg(f); } else { method.body().invoke(dest, "writeValue").arg(f); } } }
if ("long".equals(fieldVar.type().name())) { fieldHash = JExpr.cast(jclass.owner().INT, fieldRef.xor(fieldRef.shrz(JExpr.lit(32)))); } else if ("boolean".equals(fieldVar.type().name())) { fieldHash = JOp.cond(fieldRef, JExpr.lit(1), JExpr.lit(0)); } else if ("int".equals(fieldVar.type().name())) { fieldHash = fieldRef; } else if ("double".equals(fieldVar.type().name())) { JClass doubleClass = jclass.owner().ref(Double.class); JExpression longField = doubleClass.staticInvoke("doubleToLongBits").arg(fieldRef); fieldHash = JExpr.cast(jclass.owner().INT, longField.xor(longField.shrz(JExpr.lit(32)))); } else if ("float".equals(fieldVar.type().name())) { fieldHash = jclass.owner().ref(Float.class).staticInvoke("floatToIntBits").arg(fieldRef); } else {
public void addConstructorFromParcel(JDefinedClass jclass) { JMethod ctorFromParcel = jclass.constructor(JMod.PROTECTED); JVar in = ctorFromParcel.param(jclass.owner().directClass("android.os.Parcel"), "in"); if (extendsParcelable(jclass)) { ctorFromParcel.body().directStatement("super(in);"); } for (JFieldVar f : jclass.fields().values()) { if( (f.mods().getValue() & JMod.STATIC) == JMod.STATIC ) { continue; } if (f.type().erasure().name().equals("List")) { ctorFromParcel.body() .invoke(in, "readList") .arg(JExpr._this().ref(f)) .arg(JExpr.direct(getListType(f.type()) + ".class.getClassLoader()")); } else { ctorFromParcel.body().assign( JExpr._this().ref(f), JExpr.cast( f.type(), in.invoke("readValue").arg(JExpr.direct(f.type().erasure().name() + ".class.getClassLoader()")) ) ); } } }
if ("double".equals(fieldVar.type().name())) { JClass doubleClass = jclass.owner().ref(Double.class); fieldEquals = doubleClass.staticInvoke("doubleToLongBits").arg(thisFieldRef).eq( doubleClass.staticInvoke("doubleToLongBits").arg(otherFieldRef)); } else if ("float".equals(fieldVar.type().name())) { JClass floatClass = jclass.owner().ref(Float.class); fieldEquals = floatClass.staticInvoke("floatToIntBits").arg(thisFieldRef).eq(
private void annotateMetatadataValidator(JDefinedClass clazz) { if (clazz.name().equals("PodTemplateSpec")) { return; } for (Map.Entry<String, JFieldVar> f : clazz.fields().entrySet()) { if (f.getKey().equals("metadata") && f.getValue().type().name().equals("ObjectMeta")) { try { JAnnotationUse annotation = f.getValue().annotate(new JCodeModel()._class("io.fabric8.kubernetes.api.model.validators.CheckObjectMeta")); if (isMinimal(clazz)) { annotation.param("minimal", true); } else { annotation .param("regexp", "^" + getObjectNamePattern(clazz) + "$") .param("max", getObjectNameMaxLength(clazz)); } } catch (JClassAlreadyExistsException e) { e.printStackTrace(); } return; } } }
public String toString() { if(type==null) return "undetermined"; else return type.name(); } }
public String toString() { if(type==null) return "undetermined"; else return type.name(); } }
public String toString() { if(type==null) return "undetermined"; else return type.name(); } }
public String toString() { if(type==null) return "undetermined"; else return type.name(); } }
public String toString() { if(type==null) return "undetermined"; else return type.name(); } }
/** * @param type a java type abstraction * @return erasure type for given java type */ public static String getErasureType(final JType type) { return type.erasure().name(); }
private String getMethodNamePart( final JType type ) { String methodName = type.name(); if ( type.isArray() ) { methodName = methodName.replace( "[]", "s" ); } methodName = methodName.replace( ".", "" ); final char[] c = methodName.toCharArray(); c[0] = Character.toUpperCase( c[0] ); methodName = String.valueOf( c ); return methodName; }
private boolean isNumberOrCharSequence(JType jType, boolean supportsFloating) { String shortClazzName = jType.name(); if (nonFloatingDigitsClasses.contains(shortClazzName)) return true; if (supportsFloating && floatingDigitsClasses.contains(shortClazzName)) return true; Class<?> clazz = loadClass(jType.fullName()); return clazz != null && CharSequence.class.isAssignableFrom(clazz); }
private boolean isNumberOrCharSequence(JType jType, boolean supportsFloating) { String shortClazzName = jType.name(); if (nonFloatingDigitsClasses.contains(shortClazzName)) return true; if (supportsFloating && floatingDigitsClasses.contains(shortClazzName)) return true; Class<?> clazz = loadClass(jType.fullName()); return clazz != null && CharSequence.class.isAssignableFrom(clazz); }
private boolean isAuxiliaryField(JFieldVar fieldVar) { String field = fieldVar.name(); return "serialVersionUID".equals(field) || COMPLEX_TYPE_FIELD_NAME.equals(field) || CONTAINER_FIELD_NAME.equals(field) || CONTAINER_VALUE_FIELD_NAME.equals(field) || "otherAttributes".equals(field) && fieldVar.type().name().equals("Map<QName,String>") || isFField(fieldVar); }
/** Returns true if the given type is a primitive int; false otherwise. */ private boolean isInt(JType type) { JCodeModel codeModel = type.owner(); return type.isPrimitive() && codeModel.INT.equals( JType.parse(codeModel, type.name())); } }
/** Returns true if the given type is a primitive int; false otherwise. */ private boolean isInt(JType type) { JCodeModel codeModel = type.owner(); return type.isPrimitive() && codeModel.INT.equals( JType.parse(codeModel, type.name())); } }
public JVar passParentVariable(JVar parentVar) { variables.add(parentVar); String name = variableManager.createId(decapitalize(parentVar.type().name())); return method.param(parentVar.type(), name); }
@Override public boolean test(FieldOutline fieldOutline){ CPropertyInfo propertyInfo = fieldOutline.getPropertyInfo(); if(propertyInfo.isCollection()){ JType elementType = CodeModelUtil.getElementType(fieldOutline.getRawType()); String name = elementType.name(); return ((this.name).equals(name + "s") || (this.name).equals(JJavaName.getPluralForm(name))); } return false; } };
public AttributeWriterBuilder(ElementWriterBuilderImpl parent, QName name, JType type) { this.parent = parent; this.name = name; this.buildContext = parent.buildContext; method = buildContext.createMethod(parent.getWriterClass(), "write" + capitalize(type.name())); objectVar = addBasicArgs(method, type, "_obj"); method._throws(XMLStreamException.class); this.writerClass = parent.writerClass; this.model = parent.model; currentBlock = method.body(); }