Package org.infoglue.cms.entities.content

Source Code of org.infoglue.cms.entities.content.ContentVO

/* ===============================================================================
*
* Part of the InfoGlue Content Management Platform (www.infoglue.org)
*
* ===============================================================================
*
*  Copyright (C)
*
* This program is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2, as published by the
* Free Software Foundation. See the file LICENSE.html for more information.
*
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY, including the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with
* this program; if not, write to the Free Software Foundation, Inc. / 59 Temple
* Place, Suite 330 / Boston, MA 02111-1307 / USA.
*
* ===============================================================================
*/

package org.infoglue.cms.entities.content;

import java.io.Serializable;
import java.util.Calendar;
import java.util.Date;
import java.util.Hashtable;
import java.util.Map;
import java.util.SimpleTimeZone;

import org.infoglue.cms.entities.kernel.BaseEntityVO;
import org.infoglue.cms.exception.ConstraintException;
import org.infoglue.cms.util.CmsPropertyHandler;
import org.infoglue.cms.util.ConstraintExceptionBuffer;
import org.infoglue.cms.util.validators.ValidatorFactory;

public class ContentVO implements BaseEntityVO, Serializable
{
  public static final Integer NO       = new Integer(0);
  public static final Integer YES     = new Integer(1);
  public static final Integer INHERITED   = new Integer(2);
 
    private Integer contentId;
    private String name          = "";
    private Date publishDateTime      = new Date();
    private Date expireDateTime       = new Date();
    private Boolean isBranch      = new Boolean(false);  
    private Boolean isDeleted       = new Boolean(false);
  private Integer isProtected      = INHERITED;
  private Integer repositoryId      = null;
  private Integer contentTypeDefinitionId  = null;
  private Integer parentContentId      = null;
 
  private Integer childCount;
    private String creatorName;
    private String fullPath = null; //Can well be null... used in some views only
    private String[] versions = new String[0]; //Can well be null... used in some views only
    private String[] versionComments = new String[0]; //Can well be null... used in some views only
    private ContentVersionVO contentVersionVO; //= new ArrayList(); //Can well be null... used in some views only and must be manually populated
    private Integer stateId = null; //Can well be null... used in some views only - reflects only the lowest state in each language if most current.
  private Integer contentVersionId; //Can well be null... used in some views only - reflects only the lowest state in each language if most current.
 
  private static SimpleTimeZone stmz = new SimpleTimeZone(-8 * 60 * 60 * 1000, "GMT");
   
    //Used if an application wants to add more properties to this item... used for performance reasons.
    private Map extraProperties = new Hashtable();
   
    public ContentVO()
    {
      //Initilizing the expireDateTime...
      Calendar calendar = Calendar.getInstance(stmz);
     
      int years = 50;
      try
      {
        String numberOfYears = CmsPropertyHandler.getDefaultNumberOfYearsBeforeExpire();
        if(numberOfYears != null && !numberOfYears.equals(""))
          years = new Integer(numberOfYears).intValue();
      }
      catch (Throwable t)
      {}
     
      calendar.add(Calendar.YEAR, years);
      expireDateTime = calendar.getTime();
    }
       
  /**
   * @see org.infoglue.cms.entities.kernel.BaseEntityVO#getId()
   */
  public Integer getId()
  {
    return getContentId();
 
   
    public java.lang.Integer getContentId()
    {
        return this.contentId;
    }
   
    public void setRepositoryId(java.lang.Integer repositoryId)
    {
        this.repositoryId = repositoryId;
    }
   
    public java.lang.Integer getRepositoryId()
    {
        return this.repositoryId;
    }
   
               
    public void setContentId(java.lang.Integer contentId)
    {
        this.contentId = contentId;
    }
   
    public java.lang.String getName()
    {
        return this.name;
    }
               
    public void setName(java.lang.String name)
    {
        this.name = name;
    }
   
    public java.util.Date getPublishDateTime()
    {
        return this.publishDateTime;
    }
               
    public void setPublishDateTime(java.util.Date publishDateTime)
    {
        this.publishDateTime = publishDateTime;
    }
   
    public java.util.Date getExpireDateTime()
    {
        return this.expireDateTime;
    }
               
    public void setExpireDateTime(java.util.Date expireDateTime)
    {
        this.expireDateTime = expireDateTime;
    }
                 
    public java.lang.Boolean getIsBranch()
    {
      return this.isBranch;
  }
   
    public void setIsBranch(java.lang.Boolean isBranch)
  {
    this.isBranch = isBranch;
  }
 
    public Boolean getIsDeleted()
    {
      return this.isDeleted;
  }
   
    public void setIsDeleted(Boolean isDeleted)
  {
    this.isDeleted = isDeleted;
  }
 
  /**
   * @see org.infoglue.cms.entities.kernel.BaseEntityVO#validate()
   */
  public ConstraintExceptionBuffer validate()
  {
    ConstraintExceptionBuffer ceb = new ConstraintExceptionBuffer();
     ValidatorFactory.createStringValidator("Content.name", true, 2, 100).validate(name, ceb);
    
    if(this.publishDateTime == null)
      ceb.add(new ConstraintException("Content.publishDateTime", "300"));
    if(this.expireDateTime == null)
      ceb.add(new ConstraintException("Content.expireDateTime", "300"));
    if(this.publishDateTime != null && this.expireDateTime != null)
      if(this.publishDateTime.after(this.expireDateTime))
        ceb.add(new ConstraintException("Content.publishDateTime", "308"));
   
    return ceb;
 

  /**
   * Returns the childCount.
   * @return Integer
   */
  public Integer getChildCount()
  {
    return childCount;
  }

  /**
   * Sets the childCount.
   * @param childCount The childCount to set
   */
  public void setChildCount(Integer childCount)
  {
    this.childCount = childCount;
  }

  public Integer getContentVersionId()
  {
    return contentVersionId;
  }

  public void setContentVersionId(Integer contentVersionId)
  {
    this.contentVersionId = contentVersionId;
  }
 
  /**
   * Returns the creatorName.
   * @return String
   */
  public String getCreatorName()
  {
    return creatorName;
  }

  /**
   * Sets the creatorName.
   * @param creatorName The creatorName to set
   */
  public void setCreatorName(String creatorName)
  {
    this.creatorName = creatorName;
  }

  public java.lang.Integer getIsProtected()
  {
    return isProtected;
  }

  public void setIsProtected(java.lang.Integer isProtected)
  {
    this.isProtected = isProtected;
  }

  public java.lang.Integer getContentTypeDefinitionId()
  {
    return contentTypeDefinitionId;
  }

  public void setContentTypeDefinitionId(java.lang.Integer contentTypeDefinitionId)
  {
    this.contentTypeDefinitionId = contentTypeDefinitionId;
  }

  public java.lang.Integer getParentContentId()
  {
    return parentContentId;
  }

  public void setParentContentId(java.lang.Integer parentContentId)
  {
    this.parentContentId = parentContentId;
  }

  public String toString()
  {
    StringBuffer sb = new StringBuffer();
    sb.append("id=").append(contentId)
      .append(" name=").append(name)
      .append(" publishDateTime=").append(publishDateTime)
      .append(" expireDateTime=").append(expireDateTime)
      .append(" isBranch=").append(isBranch)
      .append(" isProtected=").append(isProtected)
      .append(" isDeleted=").append(isDeleted)
      .append(" repositoryId=").append(repositoryId)
      .append(" contentTypeDefinitionId=").append(contentTypeDefinitionId)
      .append(" parentContentId=").append(parentContentId)
      .append(" creatorName=").append(creatorName);
    return sb.toString();
  }
 
    public Map getExtraProperties()
    {
        return extraProperties;
    }
   
    public void setExtraProperties(Map extraProperties)
    {
        this.extraProperties = extraProperties;
    }

  public String getFullPath()
  {
    return fullPath;
  }

  public void setFullPath(String fullPath)
  {
    this.fullPath = fullPath;
  }

  public void setVersions(String[] versions)
  {
    this.versions = versions;
  }

  public String[] getVersions()
  {
    return this.versions;
  }

  public void setVersionComments(String[] versionComments)
  {
    this.versionComments = versionComments;
  }

  public String[] getVersionComments()
  {
    return this.versionComments;
  }

    /**
   * @return the stateId
   */
  public Integer getStateId() {
    return stateId;
  }

  /**
   * @param stateId the stateId to set
   */
  public void setStateId(Integer stateId) {
    this.stateId = stateId;
  }


  public ContentVersionVO getContentVersion()
  {
    return contentVersionVO;
  }

  public void setContentVersion(ContentVersionVO contentVersionVO)
  {
    this.contentVersionVO = contentVersionVO;
  }
}
        
TOP

Related Classes of org.infoglue.cms.entities.content.ContentVO

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.