package com.ligati.apipixie.tools; import java.util.*; public class ComplexField { private FieldType type; private Class<?> clazz; private Class<? extends Collection> collectionClass; public ComplexField(FieldType type, Class<?> clazz) { this.type = type; this.clazz = clazz; } public ComplexField(FieldType type, Class<?> clazz, Class<? extends Collection> collectionClass) { this(type, clazz); this.setCollectionClass(collectionClass); } public FieldType getType() { return type; } public void setType(FieldType type) { this.type = type; } public Class<?> getClazz() { return clazz; } public void setClazz(Class<?> clazz) { this.clazz = clazz; } public Class<? extends Collection> getCollectionClass() { return collectionClass; } public void setCollectionClass(Class<? extends Collection> collectionClass) { if (List.class.equals(collectionClass)) this.collectionClass = LinkedList.class; else if (Set.class.equals(collectionClass)) this.collectionClass = HashSet.class; else this.collectionClass = collectionClass; } public enum FieldType { BASIC_COLLECTION, ENTITY_COLLECTION, DATE, NESTED_ENTITY, ENUM } @Override public String toString() { final StringBuffer sb = new StringBuffer("ComplexField{"); sb.append("type=").append(type); sb.append(", clazz=").append(clazz); sb.append(", collectionClass=").append(collectionClass); sb.append('}'); return sb.toString(); } }