View Javadoc
1 /* 2 * Copyright (c) 2003 3 * Information Desire GmbH 4 * All rights reserved. 5 */ 6 package com.infodesire.infobit.dao; 7 8 import com.infodesire.infobit.data.Content; 9 import com.infodesire.infobit.data.Version; 10 import com.infodesire.infobit.data.Attributed; 11 12 import java.util.Map; 13 import java.util.HashMap; 14 import java.util.Collections; 15 import java.util.Set; 16 17 /*** 18 * abstract base class representing certain content 19 * 20 * @author konstantin 21 * @created August 15, 2003 22 * @version $Revision: 1.6 $ 23 * @hibernate.class table="content" polymorphism="implicit" 24 * @hibernate.discriminator column="type" 25 */ 26 abstract class ContentImpl extends BaseEntityImpl implements Content, Attributed, AttributeSettable { 27 28 /*** 29 */ 30 private Version _version; 31 32 private Set _keywords; 33 34 private Integer _id; 35 36 private Map _attributes = new HashMap(); 37 38 39 /*** 40 * note that we like to have property named attributes, to be able to 41 * produce queries easily 42 * 43 * @return The Attributes value 44 * @hibernate.map cascade="all" lazy="true" 45 * table="content_attributes" 46 * @hibernate.collection-key column="contentid" 47 * @hibernate.collection-index column="name" type="string" 48 * @hibernate.collection-element column="value" type="string" 49 */ 50 51 public Map getAttributes() { 52 return _attributes; 53 } 54 55 56 /*** 57 * provide unmodifiable attrobute map. 58 * 59 * @return Description of the Returned Value 60 */ 61 public Map getAttributeMap() { 62 return Collections.unmodifiableMap(getAttributes()); 63 } 64 65 66 /*** 67 * @return The Version value 68 * @hibernate.one-to-one cascade="none" 69 * class="com.infodesire.infobit.dao.VersionImpl" 70 */ 71 public Version getVersion() { 72 return _version; 73 } 74 75 76 /*** 77 * @return The Id value 78 * @hibernate.id generator-class="assigned" 79 */ 80 public Integer getId() { 81 if (getVersion() != null) { 82 return getVersion().getId(); 83 } 84 return _id; 85 } 86 87 88 /*** 89 * Gets the Keywords attribute of the ContentImpl object 90 * 91 * @return The Keywords value 92 * @hibernate.set table="keywords" cascade="all" 93 * lazy="true" not-null="false" 94 * @hibernate.collection-element column="keyword" type="string" 95 * @hibernate.collection-key column="contentid" 96 */ 97 public Set getKeywords() { 98 return _keywords; 99 } 100 101 102 /*** 103 * provide name of template to render exported version of 104 * 105 * @return The TemplateName value 106 */ 107 public String getTemplateName() { 108 return getClass().getName().replace('.', '/') + ".vm"; 109 } 110 111 112 /*** 113 * Sets the Attributes attribute of the ContentImpl object 114 * 115 * @param attributes The new Attributes value 116 */ 117 public void setAttributes(Map attributes) { 118 _attributes = attributes; 119 } 120 121 122 /*** 123 * @param version The new Version value 124 */ 125 public void setVersion(Version version) { 126 _version = version; 127 } 128 129 130 /*** 131 * does not do anything. since we have 1-1 mapping to version, we just 132 * ignore any id setting on infobit, and delegate id getting to version. 133 * 134 * @param id id value we are not interested at all :) 135 */ 136 public void setId(Integer id) { 137 138 } 139 140 141 /*** 142 * Sets the Keywords attribute of the ContentImpl object 143 * 144 * @param keywords The new Keywords value 145 */ 146 public void setKeywords(Set keywords) { 147 _keywords = keywords; 148 } 149 }

This page was automatically generated by Maven