    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.Infobit;
    9   import com.infodesire.infobit.data.Version;
    10  import com.infodesire.infobit.data.Acl;
    11  import com.infodesire.infobit.data.Attributed;
    12
    13  import java.util.Collection;
    14  import java.util.Collections;
    15  import java.util.List;
    16  import java.util.ArrayList;
    17
    18  import java.util.Map;
    19  import java.util.HashMap;
    20
    21  import org.apache.commons.logging.Log;
    22  import org.apache.commons.logging.LogFactory;
    23
    24  /***
    25   * Infobit - just an versioned, secured and attributed chunk of information
    26   *
    27   * @author            konstantin
    28   * @created           July 29, 2003
    29   * @version           $Revision: 1.10 $
    30   * @hibernate.class   table="infobit"
    31   * @hibernate.query   name="infobitById" query="from infobit in class
    32   *      com.infodesire.infobit.dao.InfobitImpl where infobit.name = :name"
    33   * @todo              implement lifecycle to preven removal of infobit used in
    34   *      scripts or as templates
    35   */
    36  class InfobitImpl extends BaseEntityImpl implements Infobit, Attributed, AttributeSettable {
    37
    38      /***
    39       */
    40      private static Log _log = LogFactory.getLog(InfobitImpl.class);
    41
    42      /***
    43       */
    44      private Version _actualVersion;
    45
    46      /***
    47       */
    48      private String  _name;
    49
    50      /***
    51       */
    52      private AclImpl _acl;
    53
    54      /***
    55       */
    56      private List    _versions = new ArrayList();
    57
    58      /***
    59       */
    60      private Map     _attributes = new HashMap();
    61
    62
    63      /***
    64       * @return                  The ActualVersion value
    65       * @hibernate.many-to-one   cascade="none"
    66       *      class="com.infodesire.infobit.dao.VersionImpl" lazy="true"
    67       *      column="actualversionid" notnull="false" not-null="false"
    68       */
    69      public Version getActualVersion() {
    70          return _actualVersion;
    71      }
    72
    73
    74
    75      /***
    76       * @return                         The Attributes value
    77       * @hibernate.map                  cascade="all" lazy="true"
    78       *      table="infobit_attributes"
    79       * @hibernate.collection-key       column="infobitid"
    80       * @hibernate.collection-index     column="name" type="string"
    81       * @hibernate.collection-element   column="value" type="string"
    82       */
    83      public Map getAttributes() {
    84          return _attributes;
    85      }
    86
    87
    88      /***
    89       * infobit name is human readable identification of infobit. we assume
    90       * immutability by hibernate mapping - thou shall not put this column in
    91       * update statement...
    92       *
    93       * @return               The Name value
    94       * @hibernate.property   unique="true" insert="true" update="false"
    95       *      not-null="true"
    96       */
    97      public String getName() {
    98          return _name;
    99      }
    100
    101
    102     /***
    103      * @return                  The Acl value
    104      * @hibernate.many-to-one   cascade="none" not-null="true" column="aclid"
    105      *      outer-join="true" class="com.infodesire.infobit.dao.AclImpl"
    106      */
    107     public Acl getAcl() {
    108         return _acl;
    109     }
    110
    111
    112
    113     /***
    114      * Gets the Versions attribute of the InfobitImpl object
    115      *
    116      * @return                             The Versions value
    117      * @hibernate.collection-key           column="infobitid"
    118      * @hibernate.collection-one-to-many
    119      *      class="com.infodesire.infobit.dao.VersionImpl"
    120      * @hibernate.bag                      cascade="delete" lazy="true"
    121      *      order-by="dateMillis desc"
    122      */
    123     public List getVersions() {
    124         return _versions;
    125     }
    126
    127
    128     /***
    129      * provide unmodifiable attrobute map.
    130      *
    131      * @return   Description of the Returned Value
    132      */
    133     public Map getAttributeMap() {
    134         return Collections.unmodifiableMap(getAttributes());
    135     }
    136
    137
    138     /***
    139      * @param attributes  The new Attributes value
    140      */
    141     public void setAttributes(Map attributes) {
    142         _attributes = attributes;
    143     }
    144
    145
    146     /***
    147      * @param actualVersion  The new ActualVersion value
    148      */
    149     public void setActualVersion(Version actualVersion) {
    150         _actualVersion = actualVersion;
    151     }
    152
    153
    154     /***
    155      * Sets the Versions attribute of the InfobitImpl object
    156      *
    157      * @param versions  The new Versions value
    158      */
    159     public void setVersions(List versions) {
    160         _versions = versions;
    161     }
    162
    163
    164     /***
    165      * Sets the Name attribute of the Infobit object
    166      *
    167      * @param name  The new Name value
    168      */
    169     public void setName(String name) {
    170         _name = name;
    171     }
    172
    173
    174     /***
    175      * @param acl  The new Acl value
    176      */
    177     public void setAcl(AclImpl acl) {
    178         _acl = acl;
    179     }
    180
    181
    182     /***
    183      * Adds a feature to the Version attribute of the InfobitImpl object
    184      *
    185      * @param version  The feature to be added to the Version attribute
    186      */
    187     public void addVersion(VersionImpl version) {
    188         version.setInfobit(this);
    189         getVersions().add(version);
    190     }
    191 }

This page was automatically generated by Maven