1 22 23 package net.sf.anupam.csv.mapping; 24 25 import org.apache.commons.lang.StringUtils; 26 import org.apache.commons.lang.builder.ToStringBuilder; 27 import org.apache.commons.lang.builder.EqualsBuilder; 28 import org.apache.commons.lang.builder.HashCodeBuilder; 29 30 import java.util.Iterator ; 31 import java.util.SortedSet ; 32 import java.util.TreeSet ; 33 34 47 public class CSVBeanMapping implements Iterable <CSVFieldMapping> { 48 49 52 private String beanName; 53 54 57 private String beanClass; 58 59 62 private boolean csvHeaderPresent; 63 64 67 private SortedSet <CSVFieldMapping> fields; 68 69 72 private int maxFieldPosition; 73 74 77 public CSVBeanMapping() { 78 super(); 79 fields = new TreeSet <CSVFieldMapping>(); 80 } 81 82 87 @Override 88 public int hashCode() { 89 return new HashCodeBuilder().append(this.getBeanName()) 90 .toHashCode(); 91 92 } 93 94 100 @Override 101 public boolean equals(final Object other) { 102 if (this == other) { 103 return true; 104 } 105 106 if (!(other instanceof CSVBeanMapping)) { 107 return false; 108 } 109 final CSVBeanMapping otherInstance = (CSVBeanMapping) other; 110 return new EqualsBuilder().append(this.getBeanName(), otherInstance.getBeanName()) 111 .isEquals(); 112 113 } 114 115 121 @Override 122 public String toString() { 123 final ToStringBuilder strBuilder = new ToStringBuilder(this).append( 124 "beanName", beanName) 125 .append("beanClass", beanClass); 126 127 strBuilder.append("Number of Fields", fields.size()); 128 strBuilder.append("Max Field Position", getMaxFieldPosition()); 129 strBuilder.append("CSV Header Present", isCsvHeaderPresent()); 130 return strBuilder.toString(); 131 } 132 133 139 public Iterator <CSVFieldMapping> iterator() { 140 return fields.iterator(); 141 } 142 143 148 public String getBeanClass() { 149 return this.beanClass; 150 } 151 152 157 public void setBeanClass(final String beanClass) { 158 this.beanClass = StringUtils.trim(beanClass); 159 } 160 161 166 public String getBeanName() { 167 return this.beanName; 168 } 169 170 175 public void setBeanName(final String beanName) { 176 this.beanName = StringUtils.trim(beanName); 177 } 178 179 184 public void addFieldMapping(final CSVFieldMapping fieldMapping) { 185 fields.add(fieldMapping); 186 maxFieldPosition = Math.max(maxFieldPosition, fieldMapping 187 .getFieldPosition()); 188 } 189 190 196 public int getMaxFieldPosition() { 197 return this.maxFieldPosition; 198 } 199 200 205 public boolean isCsvHeaderPresent() { 206 return this.csvHeaderPresent; 207 } 208 209 214 public void setCsvHeaderPresent(final boolean csvHeaderPresent) { 215 this.csvHeaderPresent = csvHeaderPresent; 216 } 217 } 218 | Popular Tags |