1 16 package com.blandware.atleap.model.core; 17 18 import java.util.ArrayList ; 19 import java.util.Collection ; 20 import java.util.HashMap ; 21 import java.util.Iterator ; 22 import java.util.List ; 23 import java.util.Map ; 24 25 26 61 public class ContentField extends BaseObject { 62 63 66 public static final byte LINE_TYPE = 0; 67 68 71 public static final byte MULTILINE_TYPE = 1; 72 73 76 public static final byte HTML_TYPE = 2; 77 78 81 public static final String TITLE_IDENTIFIER = "title"; 82 83 86 public static final String KEYWORDS_IDENTIFIER = "keywords"; 87 88 91 public static final String DESCRIPTION_IDENTIFIER = "description"; 92 93 94 96 99 protected Long id; 100 103 protected String identifier; 104 107 protected String identifierWithoutIndex; 108 111 protected Double index; 112 115 protected byte type; 116 119 protected List contentFieldValues = new ArrayList (); 120 123 protected Localizable owner; 124 127 protected Boolean internal; 128 131 protected Long version; 132 133 135 143 public Long getId() { 144 return id; 145 } 146 147 152 public void setId(Long id) { 153 this.id = id; 154 } 155 156 163 public Long getVersion() { 164 return version; 165 } 166 167 172 public void setVersion(Long version) { 173 this.version = version; 174 } 175 176 188 public String getIdentifier() { 189 return identifier; 190 } 191 192 197 public void setIdentifier(String identifier) { 198 this.identifier = identifier; 199 int k = identifier.indexOf('['); 200 if ( k != -1 ) { 201 index = Double.valueOf(identifier.substring(k + 1, identifier.indexOf(']', k))); 202 identifierWithoutIndex = identifier.substring(0, k); 203 } else { 204 index = null; 205 identifierWithoutIndex = identifier; 206 } 207 } 208 209 214 public String getIdentifierWithoutIndex() { 215 return identifierWithoutIndex; 216 } 217 218 227 public Double getIndex() { 228 return index; 229 } 230 231 239 public List getContentFieldValues() { 240 return contentFieldValues; 241 } 242 243 248 public void setContentFieldValues(List contentFieldValues) { 249 this.contentFieldValues = contentFieldValues; 250 } 251 252 257 public void addContentFieldValue(ContentFieldValue contentFieldValue) { 258 contentFieldValue.setContentField(this); 259 contentFieldValues.add(contentFieldValue); 260 } 261 262 268 public ContentFieldValue updateContentFieldValue(ContentFieldValue contentFieldValue) { 269 ContentFieldValue oldContentFieldValue = null; 270 if ( !contentFieldValue.getContentField().equals(this) ) { 271 int index = contentFieldValue.getContentField().contentFieldValues.indexOf(contentFieldValue); 272 if (index != -1) { 273 oldContentFieldValue = (ContentFieldValue)contentFieldValue.getContentField().contentFieldValues.remove(index); 274 } 275 contentFieldValues.add(contentFieldValue); 276 contentFieldValue.setContentField(this); 277 } 278 return oldContentFieldValue; 279 } 280 281 286 public void removeContentFieldValue(ContentFieldValue contentFieldValue) { 287 contentFieldValues.remove(contentFieldValue); 288 } 289 290 295 public Map getContentFieldValuesMap() { 296 Collection collection = getContentFieldValues(); 297 Map map = new HashMap (); 298 for ( Iterator iterator = collection.iterator(); iterator.hasNext(); ) { 299 ContentFieldValue contentFieldValue = (ContentFieldValue) iterator.next(); 300 map.put(contentFieldValue.getContentLocale().getIdentifier(), contentFieldValue); 301 } 302 return map; 303 } 304 305 312 public Localizable getOwner() { 313 return owner; 314 } 315 316 321 public void setOwner(Localizable owner) { 322 this.owner = owner; 323 } 324 325 333 public byte getType() { 334 return type; 335 } 336 337 342 public void setType(byte type) { 343 this.type = type; 344 } 345 346 353 public Boolean getInternal() { 354 return internal; 355 } 356 357 363 public void setInternal(Boolean internal) { 364 this.internal = internal; 365 } 366 367 public boolean equals(Object o) { 368 if ( this == o ) { 369 return true; 370 } 371 if ( !(o instanceof ContentField) ) { 372 return false; 373 } 374 375 final ContentField contentField = (ContentField) o; 376 377 if ( identifier != null ? !identifier.equals(contentField.identifier) : contentField.identifier != null ) { 378 return false; 379 } 380 if ( owner != null ? !owner.equals(contentField.owner) : contentField.owner != null ) { 381 return false; 382 } 383 384 return true; 385 } 386 387 public int hashCode() { 388 int result; 389 result = (identifier != null ? identifier.hashCode() : 0); 390 result = 29 * result + (owner != null ? owner.hashCode() : 0); 391 return result; 392 } 393 394 } 395 | Popular Tags |