}
ArrayList properties = new ArrayList();
jclass.getDeclaredProperties();
for (int i = 0; i < jclass.getDeclaredProperties().length; i++) {
JProperty p = jclass.getDeclaredProperties()[i];
if (isValidProperty(p)) {
properties.add(p);
}
}
for (Iterator iter = properties.iterator(); iter.hasNext();) {
JProperty property = (JProperty) iter.next();
JAnnotation annotation = property.getGetter().getAnnotation("openwire:property");
JAnnotationValue size = annotation.getValue("size");
String name = toPropertyCase(property.getSimpleName());
boolean cached = isCachedProperty(property);
String type = property.getType().getQualifiedName();
if (type.equals("boolean")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("byte")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("char")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("short")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("int")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("long")) {
out.println(" ow_"+type+" "+name+";");
} else if (type.equals("byte[]")) {
out.println(" ow_byte_array *"+name+";");
} else if (type.equals("org.apache.activeio.packet.ByteSequence")) {
out.println(" ow_byte_array *"+name+";");
} else if (type.equals("org.apache.activeio.packet.ByteSequence")) {
out.println(" ow_byte_array *"+name+";");
} else if (type.equals("java.lang.String")) {
out.println(" ow_string *"+name+";");
} else {
if (property.getType().isArrayType()) {
out.println(" ow_DataStructure_array *"+name+";");
} else if (isThrowable(property.getType())) {
out.println(" ow_throwable *"+name+";");
} else {
out.println(" struct ow_" + property.getType().getSimpleName() + " *"+name+";");
}
}
}
}