org.opencms.file
Class CmsProject

java.lang.Object
  extended by org.opencms.file.CmsProject
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Comparable
Direct Known Subclasses:
CmsHistoryProject

public class CmsProject
extends java.lang.Object
implements java.lang.Cloneable, java.lang.Comparable

Describes an OpenCms project, which contains a set of VFS resources that are being worked on at the same time.

Since:
6.0.0
Version:
$Revision: 1.26 $
Author:
Alexander Kandzior, Michael Emmerich

Nested Class Summary
static class CmsProject.CmsProjectType
          Enumeration class for project types.
 
Field Summary
static CmsUUID ONLINE_PROJECT_ID
          The id of the online project.
static java.lang.String ONLINE_PROJECT_NAME
          The name of the online project.
static int PROJECT_FLAG_HIDDEN
          Indicates that a project is invisible in the workplace.
static int PROJECT_FLAG_NONE
          Indicates that a normal project.
static CmsProject.CmsProjectType PROJECT_TYPE_NORMAL
          Indicates a normal project.
static CmsProject.CmsProjectType PROJECT_TYPE_TEMPORARY
          Indicates a temporary project that is deleted after it is published.
 
Constructor Summary
CmsProject()
          Default constructor for gui usage.
CmsProject(CmsUUID projectId, java.lang.String projectFqn, java.lang.String description, CmsUUID ownerId, CmsUUID groupId, CmsUUID managerGroupId, int flags, long dateCreated, CmsProject.CmsProjectType type)
          Creates a new CmsProject.
 
Method Summary
static void checkProjectName(java.lang.String name)
          Throws a runtime exception if name is empty.
 java.lang.Object clone()
           
 int compareTo(java.lang.Object o)
          Compares this instance to another given object instance of this class .
 boolean equals(java.lang.Object obj)
           
 long getDateCreated()
          Returns the creation date of this project.
 java.lang.String getDescription()
          Returns the description of this project.
 int getFlags()
          Returns the state of this project.
 CmsUUID getGroupId()
          Returns the user group id of this project.
 int getId()
          Deprecated. Use getUuid() instead
 CmsUUID getManagerGroupId()
          Returns the manager group id of this project.
 java.lang.String getName()
          Returns the name of this project.
 java.lang.String getOuFqn()
          Returns the fully qualified name of the associated organizational unit.
 CmsUUID getOwnerId()
          Returns the user id of the project owner.
 java.lang.String getSimpleName()
          Returns the simple name of this organizational unit.
 CmsProject.CmsProjectType getType()
          Returns the type of this project.
 CmsUUID getUuid()
          Returns the id of this project.
 int hashCode()
           
 boolean isDeleteAfterPublishing()
          Returns the delete After Publishing flag.
 boolean isHidden()
          Returns the 'hidden' flag.
static boolean isInsideProject(java.util.List projectResources, CmsResource resource)
          Checks if the full resource name (including the site root) of a resource matches any of the project resources of a project.
static boolean isInsideProject(java.util.List projectResources, java.lang.String resourcename)
          Checks if the full resource name (including the site root) of a resource matches any of the project resources of a project.
 boolean isOnlineProject()
          Returns true if this project is the Online project.
static boolean isOnlineProject(CmsUUID projectId)
          Returns true if the given project id is the online project id.
 void setDeleteAfterPublishing(boolean deleteAfterPublishing)
          Sets the delete After Publishing flag.
 void setDescription(java.lang.String description)
          Sets the description of this project.
 void setFlags(int flags)
          Sets the flags of this project.
 void setGroupId(CmsUUID id)
          Sets the user group id of this project.
 void setHidden(boolean value)
          Sets the 'hidden' flag.
 void setManagerGroupId(CmsUUID id)
          Sets the manager group id of this project.
 void setName(java.lang.String name)
          Sets the name.
 void setOwnerId(CmsUUID id)
          Sets the owner id of this project.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ONLINE_PROJECT_NAME

public static final java.lang.String ONLINE_PROJECT_NAME
The name of the online project.

See Also:
Constant Field Values

ONLINE_PROJECT_ID

public static final CmsUUID ONLINE_PROJECT_ID
The id of the online project.


PROJECT_FLAG_HIDDEN

public static final int PROJECT_FLAG_HIDDEN
Indicates that a project is invisible in the workplace.

See Also:
Constant Field Values

PROJECT_FLAG_NONE

public static final int PROJECT_FLAG_NONE
Indicates that a normal project.

See Also:
Constant Field Values

PROJECT_TYPE_NORMAL

public static final CmsProject.CmsProjectType PROJECT_TYPE_NORMAL
Indicates a normal project.


PROJECT_TYPE_TEMPORARY

public static final CmsProject.CmsProjectType PROJECT_TYPE_TEMPORARY
Indicates a temporary project that is deleted after it is published.

Constructor Detail

CmsProject

public CmsProject()
Default constructor for gui usage.


CmsProject

public CmsProject(CmsUUID projectId,
                  java.lang.String projectFqn,
                  java.lang.String description,
                  CmsUUID ownerId,
                  CmsUUID groupId,
                  CmsUUID managerGroupId,
                  int flags,
                  long dateCreated,
                  CmsProject.CmsProjectType type)
Creates a new CmsProject.

Parameters:
projectId - the id to use for this project
projectFqn - the name for this project
description - the description for this project
ownerId - the owner id for this project
groupId - the group id for this project
managerGroupId - the manager group id for this project
flags - the flags for this project
dateCreated - the creation date of this project
type - the type of this project
Method Detail

checkProjectName

public static void checkProjectName(java.lang.String name)
Throws a runtime exception if name is empty.

Parameters:
name - the project name to check

isInsideProject

public static boolean isInsideProject(java.util.List projectResources,
                                      CmsResource resource)
Checks if the full resource name (including the site root) of a resource matches any of the project resources of a project.

Parameters:
projectResources - a List of project resources as Strings
resource - the resource to check
Returns:
true, if the resource is "inside" the project resources

isInsideProject

public static boolean isInsideProject(java.util.List projectResources,
                                      java.lang.String resourcename)
Checks if the full resource name (including the site root) of a resource matches any of the project resources of a project.

Parameters:
projectResources - a List of project resources as Strings
resourcename - the resource to check
Returns:
true, if the resource is "inside" the project resources

isOnlineProject

public static boolean isOnlineProject(CmsUUID projectId)
Returns true if the given project id is the online project id.

Parameters:
projectId - the project id to check
Returns:
true if the given project id is the online project id

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object
See Also:
Object.clone()

compareTo

public int compareTo(java.lang.Object o)
Compares this instance to another given object instance of this class .

Specified by:
compareTo in interface java.lang.Comparable
Parameters:
o - the other given object instance to compare with
Returns:
integer value for sorting the objects

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object
See Also:
Object.equals(java.lang.Object)

getDateCreated

public long getDateCreated()
Returns the creation date of this project.

Returns:
the creation date of this project

getDescription

public java.lang.String getDescription()
Returns the description of this project.

Returns:
the description of this project

getFlags

public int getFlags()
Returns the state of this project.

Returns:
the state of this project

getGroupId

public CmsUUID getGroupId()
Returns the user group id of this project.

Returns:
the user group id of this project

getId

public int getId()
Deprecated. Use getUuid() instead

Returns the id of this project.

Returns:
the id of this project

getManagerGroupId

public CmsUUID getManagerGroupId()
Returns the manager group id of this project.

Returns:
the manager group id of this project

getName

public java.lang.String getName()
Returns the name of this project.

Returns:
the name of this project

getOuFqn

public java.lang.String getOuFqn()
Returns the fully qualified name of the associated organizational unit.

Returns:
the fully qualified name of the associated organizational unit

getOwnerId

public CmsUUID getOwnerId()
Returns the user id of the project owner.

Returns:
the user id of the project owner

getSimpleName

public java.lang.String getSimpleName()
Returns the simple name of this organizational unit.

Returns:
the simple name of this organizational unit.

getType

public CmsProject.CmsProjectType getType()
Returns the type of this project.

Returns:
the type of this project

getUuid

public CmsUUID getUuid()
Returns the id of this project.

Returns:
the id of this project

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object
See Also:
Object.hashCode()

isDeleteAfterPublishing

public boolean isDeleteAfterPublishing()
Returns the delete After Publishing flag.

Returns:
the delete After Publishing flag
See Also:
getType()

isHidden

public boolean isHidden()
Returns the 'hidden' flag.

Returns:
the 'hidden' flag
See Also:
getFlags()

isOnlineProject

public boolean isOnlineProject()
Returns true if this project is the Online project.

Returns:
true if this project is the Online project

setDeleteAfterPublishing

public void setDeleteAfterPublishing(boolean deleteAfterPublishing)
Sets the delete After Publishing flag.

Parameters:
deleteAfterPublishing - the delete After Publishing flag to set

setDescription

public void setDescription(java.lang.String description)
Sets the description of this project.

Parameters:
description - the description to set

setFlags

public void setFlags(int flags)
Sets the flags of this project.

Parameters:
flags - the flag to set

setGroupId

public void setGroupId(CmsUUID id)
Sets the user group id of this project.

Parameters:
id - the user group id of this project

setHidden

public void setHidden(boolean value)
Sets the 'hidden' flag.

Parameters:
value - the value to set

setManagerGroupId

public void setManagerGroupId(CmsUUID id)
Sets the manager group id of this project.

Parameters:
id - the manager group id of this project

setName

public void setName(java.lang.String name)
Sets the name.

Parameters:
name - the name to set

setOwnerId

public void setOwnerId(CmsUUID id)
Sets the owner id of this project.

Parameters:
id - the id of the new owner

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
Object.toString()