001package org.kuali.ole.deliver.api; 002 003import org.apache.commons.lang.StringUtils; 004import org.kuali.rice.core.api.CoreConstants; 005import org.kuali.rice.core.api.mo.AbstractDataTransferObject; 006import org.kuali.rice.core.api.mo.ModelBuilder; 007import org.kuali.rice.kim.api.KimConstants; 008import org.w3c.dom.Element; 009 010import javax.xml.bind.annotation.*; 011import java.io.Serializable; 012import java.util.Collection; 013 014/** 015 * Created with IntelliJ IDEA. 016 * User: ? 017 * Date: 5/24/12 018 * Time: 8:26 PM 019 * To change this template use File | Settings | File Templates. 020 */ 021@XmlRootElement(name = OleStatisticalCategoryDefinition.Constants.ROOT_ELEMENT_NAME) 022@XmlAccessorType(XmlAccessType.NONE) 023@XmlType(name = OleStatisticalCategoryDefinition.Constants.TYPE_NAME, propOrder = { 024 OleStatisticalCategoryDefinition.Elements.OLE_STATISTICAL_CATEGORY_ID, 025 OleStatisticalCategoryDefinition.Elements.OLE_STATISTICAL_CATEGORY_CODE, 026 OleStatisticalCategoryDefinition.Elements.OLE_STATISTICAL_CATEGORY_NAME, 027 OleStatisticalCategoryDefinition.Elements.OLE_STATISTICAL_CATEGORY_DESC, 028 OleStatisticalCategoryDefinition.Elements.ACTIVE_INDICATOR, 029 030 CoreConstants.CommonElements.VERSION_NUMBER, 031 //CoreConstants.CommonElements.OBJECT_ID, 032 CoreConstants.CommonElements.FUTURE_ELEMENTS 033}) 034public final class OleStatisticalCategoryDefinition extends AbstractDataTransferObject implements org.kuali.ole.deliver.api.OleStatisticalCategoryContract { 035 036 private static final long serialVersionUID = 1L; 037 038 039 @XmlElement(name = Elements.OLE_STATISTICAL_CATEGORY_ID, required = false) 040 private final String oleStatisticalCategoryId; 041 042 @XmlElement(name = Elements.OLE_STATISTICAL_CATEGORY_CODE, required = false) 043 private final String oleStatisticalCategoryCode; 044 045 @XmlElement(name = Elements.OLE_STATISTICAL_CATEGORY_NAME, required = false) 046 private final String oleStatisticalCategoryName; 047 048 @XmlElement(name = Elements.OLE_STATISTICAL_CATEGORY_DESC, required = false) 049 private final String oleStatisticalCategoryDesc; 050 051 @XmlElement(name = Elements.ACTIVE_INDICATOR, required = false) 052 private final boolean active; 053 054 @XmlElement(name = CoreConstants.CommonElements.VERSION_NUMBER, required = false) 055 private final Long versionNumber; 056 057 /*@XmlElement(name = CoreConstants.CommonElements.OBJECT_ID, required = false) 058 private final String objectId;*/ 059 @SuppressWarnings("unused") 060 @XmlAnyElement 061 private final Collection<Element> _futureElements = null; 062 063 public OleStatisticalCategoryDefinition() { 064 this.oleStatisticalCategoryId = null; 065 this.oleStatisticalCategoryCode = null; 066 this.oleStatisticalCategoryName = null; 067 this.active = false; 068 this.oleStatisticalCategoryDesc = null; 069 this.versionNumber = null; 070 //this.objectId = null; 071 } 072 073 074 private OleStatisticalCategoryDefinition(Builder builder) { 075 this.oleStatisticalCategoryId = builder.getOleStatisticalCategoryId(); 076 this.oleStatisticalCategoryCode = builder.getOleStatisticalCategoryCode(); 077 this.oleStatisticalCategoryName = builder.getOleStatisticalCategoryName(); 078 this.oleStatisticalCategoryDesc = builder.getOleStatisticalCategoryDesc(); 079 this.active = builder.isActive(); 080 081 this.versionNumber = builder.getVersionNumber(); 082 //this.objectId = builder.getObjectId(); 083 } 084 085 086 @Override 087 public String getOleStatisticalCategoryId() { 088 return this.oleStatisticalCategoryId; 089 } 090 091 @Override 092 public String getOleStatisticalCategoryCode() { 093 return this.oleStatisticalCategoryCode; 094 } 095 096 @Override 097 public String getOleStatisticalCategoryName() { 098 return this.oleStatisticalCategoryName; 099 } 100 101 @Override 102 public String getOleStatisticalCategoryDesc() { 103 return this.oleStatisticalCategoryDesc; 104 } 105 106 @Override 107 public boolean isActive() { 108 return this.active; 109 } 110 111 ; 112 113 114 @Override 115 public String getId() { 116 return this.oleStatisticalCategoryId; 117 } 118 119 120 @Override 121 public Long getVersionNumber() { 122 return this.versionNumber; 123 } 124 125 126 //@Override 127 /*public OleBorrowerTypeDefinition getOleBorrowerType() { 128 return this.oleBorrowerType; 129 }*/ 130 131 public static class Builder 132 implements Serializable, ModelBuilder, org.kuali.ole.deliver.api.OleStatisticalCategoryContract { 133 134 private String oleStatisticalCategoryId; 135 private String oleStatisticalCategoryCode; 136 private String oleStatisticalCategoryName; 137 private String oleStatisticalCategoryDesc; 138 private boolean active; 139 140 private Long versionNumber; 141 private String objectId; 142 143 private Builder() { 144 } 145 146 public static Builder create() { 147 return new Builder(); 148 } 149 150 public static Builder create(OleStatisticalCategoryContract contract) { 151 if (contract == null) { 152 throw new IllegalArgumentException("contract was null"); 153 } 154 Builder builder = create(); 155 if (contract.getOleStatisticalCategoryId() != null) { 156 builder.setOleStatisticalCategoryId(contract.getOleStatisticalCategoryId()); 157 } 158 if (contract.getOleStatisticalCategoryCode() != null) { 159 builder.setOleStatisticalCategoryCode(contract.getOleStatisticalCategoryCode()); 160 } 161 if (contract.getOleStatisticalCategoryName() != null) { 162 builder.setOleStatisticalCategoryName(contract.getOleStatisticalCategoryName()); 163 } 164 if (contract.isActive()) { 165 builder.setActive(contract.isActive()); 166 } 167 if (contract.getOleStatisticalCategoryDesc() != null) { 168 builder.setOleStatisticalCategoryDesc(contract.getOleStatisticalCategoryDesc()); 169 } 170 171 builder.setVersionNumber(contract.getVersionNumber()); 172 /*builder.setObjectId(contract.getObjectId()); 173 builder.setActive(contract.isActive());*/ 174 builder.setId(contract.getId()); 175 return builder; 176 } 177 178 179 public OleStatisticalCategoryDefinition build() { 180 return new OleStatisticalCategoryDefinition(this); 181 } 182 183 public String getOleStatisticalCategoryId() { 184 return oleStatisticalCategoryId; 185 } 186 187 public void setOleStatisticalCategoryId(String oleStatisticalCategoryId) { 188 this.oleStatisticalCategoryId = oleStatisticalCategoryId; 189 } 190 191 public String getOleStatisticalCategoryCode() { 192 return oleStatisticalCategoryCode; 193 } 194 195 public void setOleStatisticalCategoryCode(String oleStatisticalCategoryCode) { 196 this.oleStatisticalCategoryCode = oleStatisticalCategoryCode; 197 } 198 199 public String getOleStatisticalCategoryName() { 200 return oleStatisticalCategoryName; 201 } 202 203 public void setOleStatisticalCategoryName(String oleStatisticalCategoryName) { 204 this.oleStatisticalCategoryName = oleStatisticalCategoryName; 205 } 206 207 public String getOleStatisticalCategoryDesc() { 208 return oleStatisticalCategoryDesc; 209 } 210 211 public void setOleStatisticalCategoryDesc(String oleStatisticalCategoryDesc) { 212 this.oleStatisticalCategoryDesc = oleStatisticalCategoryDesc; 213 } 214 215 public boolean isActive() { 216 return active; 217 } 218 219 public void setActive(boolean active) { 220 this.active = active; 221 } 222 223 @Override 224 public Long getVersionNumber() { 225 return versionNumber; 226 } 227 228 public void setVersionNumber(Long versionNumber) { 229 this.versionNumber = versionNumber; 230 } 231 232 /*@Override 233 public String getObjectId() { 234 return objectId; 235 }*/ 236 237 public void setObjectId(String objectId) { 238 this.objectId = objectId; 239 } 240 241 @Override 242 public String getId() { 243 return this.oleStatisticalCategoryId; 244 } 245 246 247 public void setId(String id) { 248 if (StringUtils.isWhitespace(id)) { 249 throw new IllegalArgumentException("id is blank"); 250 } 251 this.oleStatisticalCategoryId = id; 252 } 253 } 254 255 static class Constants { 256 257 final static String ROOT_ELEMENT_NAME = "oleStatisticalCategory"; 258 final static String TYPE_NAME = "oleStatisticalCategoryType"; 259 final static String[] HASH_CODE_EQUALS_EXCLUDE = new String[]{CoreConstants.CommonElements.FUTURE_ELEMENTS}; 260 } 261 262 static class Elements { 263 final static String OLE_STATISTICAL_CATEGORY_ID = "oleStatisticalCategoryId"; 264 final static String OLE_STATISTICAL_CATEGORY_CODE = "oleStatisticalCategoryCode"; 265 final static String OLE_STATISTICAL_CATEGORY_NAME = "oleStatisticalCategoryName"; 266 final static String OLE_STATISTICAL_CATEGORY_DESC = "oleStatisticalCategoryDesc"; 267 final static String ACTIVE_INDICATOR = "active"; 268 //final static String ENTITY_ID = "entityId"; 269 270 } 271 272 public static class Cache { 273 public static final String NAME = KimConstants.Namespaces.KIM_NAMESPACE_2_0 + "/" + Constants.TYPE_NAME; 274 } 275}