package org.springframework.roo.addon.json;
import org.springframework.roo.classpath.PhysicalTypeMetadata;
import org.springframework.roo.classpath.details.annotations.populator.AbstractAnnotationValues;
import org.springframework.roo.classpath.details.annotations.populator.AutoPopulate;
import org.springframework.roo.classpath.details.annotations.populator.AutoPopulationUtils;
import org.springframework.roo.model.RooJavaType;
/**
* Represents a parsed {@link RooJson} annotation.
*
* @author Stefan Schmidt
* @since 1.1
*/
public class JsonAnnotationValues extends AbstractAnnotationValues {
@AutoPopulate boolean deepSerialize;
@AutoPopulate String fromJsonArrayMethod = "fromJsonArrayTo<TypeNamePlural>";
@AutoPopulate String fromJsonMethod = "fromJsonTo<TypeName>";
@AutoPopulate String rootName = "";
@AutoPopulate String toJsonArrayMethod = "toJsonArray";
@AutoPopulate String toJsonMethod = "toJson";
/**
* Constructor
*
* @param governorPhysicalTypeMetadata
*/
public JsonAnnotationValues(
final PhysicalTypeMetadata governorPhysicalTypeMetadata) {
super(governorPhysicalTypeMetadata, RooJavaType.ROO_JSON);
AutoPopulationUtils.populate(this, annotationMetadata);
}
public String getFromJsonArrayMethod() {
return fromJsonArrayMethod;
}
public String getFromJsonMethod() {
return fromJsonMethod;
}
public String getRootName() {
return rootName;
}
public String getToJsonArrayMethod() {
return toJsonArrayMethod;
}
public String getToJsonMethod() {
return toJsonMethod;
}
public boolean isDeepSerialize() {
return deepSerialize;
}
}