org.opencms.site
Class CmsSite

java.lang.Object
  extended by org.opencms.site.CmsSite
All Implemented Interfaces:
Cloneable, Comparable<CmsSite>

public final class CmsSite
extends Object
implements Cloneable, Comparable<CmsSite>

Describes a configured site in OpenCms.

Since:
6.0.0

Constructor Summary
CmsSite(String siteRoot, CmsSiteMatcher siteMatcher)
          Constructs a new site object without title and id information, this is to be used for lookup purposes only.
CmsSite(String siteRoot, CmsUUID siteRootUUID, String title)
          Constructs a new site object with a default (wildcard) a site matcher, this is to be used for display purposes only.
CmsSite(String siteRoot, CmsUUID siteRootUUID, String title, CmsSiteMatcher siteMatcher, String position)
          Constructs a new site object.
 
Method Summary
protected  void addAlias(CmsSiteMatcher aliasServer)
          Adds an alias for the site.
 Object clone()
          Returns a clone of this Objects instance.
 int compareTo(CmsSite that)
           
 boolean equals(Object obj)
           
 List<CmsSiteMatcher> getAliases()
          Returns the aliases for this site.
 float getPosition()
          Returns the sorting position.
 String getSecureUrl()
          Returns the secure server url of this site root.
 String getServerPrefix(CmsObject cms, CmsResource resource)
          Returns the server prefix for the given resource in this site, used to distinguish between secure (https) and non-secure (http) sites.
 String getServerPrefix(CmsObject cms, String resourceName)
          Returns the server prefix for the given resource in this site, used to distinguish between secure (https) and non-secure (http) sites.
 CmsSiteMatcher getSiteMatcher()
          Returns the site matcher that describes the URL of this site.
 String getSitePath(String rootPath)
          Returns the site path for the given root path in case the root path actually starts with this site root, or null in case the root path does not.
 String getSiteRoot()
          Returns the server URL prefix to which this site is mapped.
 CmsUUID getSiteRootUUID()
          Returns the UUID of this site's root directory in the OpenCms VFS.
 String getTitle()
          Returns the display title of this site.
 String getUrl()
          Returns the server url of this site root.
 int hashCode()
           
 boolean hasSecureServer()
          Returns true, if the site has a secure server.
 boolean isExclusiveError()
          Returns the exclusive error flag.
 boolean isExclusiveUrl()
          Returns the exclusive protocol flag.
protected  void setAliases(List<CmsSiteMatcher> aliases)
          Sets the aliases for the site.
 void setExclusiveError(boolean error)
          Sets the exclusive error flag.
 void setExclusiveUrl(boolean exclusive)
          Sets the exclusive protocol flag.
protected  void setSecureServer(CmsSiteMatcher secureServer)
          Sets the secure server.
protected  void setSiteMatcher(CmsSiteMatcher siteMatcher)
          Sets the site matcher that describes the URL of this site.
protected  void setSiteRoot(String siteRoot)
          Sets the server URL prefix to which this site is mapped.
protected  void setSiteRootUUID(CmsUUID siteRootUUID)
          Sets the UUID of this site's root directory in the OpenCms VFS.
protected  void setTitle(String name)
          Sets the display title of this site.
 String toString()
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

CmsSite

public CmsSite(String siteRoot,
               CmsSiteMatcher siteMatcher)
Constructs a new site object without title and id information, this is to be used for lookup purposes only.

Parameters:
siteRoot - root directory of this site in the OpenCms VFS
siteMatcher - the site matcher for this site

CmsSite

public CmsSite(String siteRoot,
               CmsUUID siteRootUUID,
               String title)
Constructs a new site object with a default (wildcard) a site matcher, this is to be used for display purposes only.

Parameters:
siteRoot - root directory of this site in the OpenCms VFS
siteRootUUID - UUID of this site's root directory in the OpenCms VFS
title - display name of this site

CmsSite

public CmsSite(String siteRoot,
               CmsUUID siteRootUUID,
               String title,
               CmsSiteMatcher siteMatcher,
               String position)
Constructs a new site object.

Parameters:
siteRoot - root directory of this site in the OpenCms VFS
siteRootUUID - UUID of this site's root directory in the OpenCms VFS
title - display name of this site
siteMatcher - the site matcher for this site
position - the sorting position
Method Detail

clone

public Object clone()
Returns a clone of this Objects instance.

Overrides:
clone in class Object
Returns:
a clone of this instance

compareTo

public int compareTo(CmsSite that)
Specified by:
compareTo in interface Comparable<CmsSite>
See Also:
Comparable.compareTo(java.lang.Object)

equals

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

getAliases

public List<CmsSiteMatcher> getAliases()
Returns the aliases for this site.

Returns:
a ArrayList with the aliases

getPosition

public float getPosition()
Returns the sorting position.

Returns:
the sorting position

getSecureUrl

public String getSecureUrl()
Returns the secure server url of this site root.

Returns:
the secure server url

getServerPrefix

public String getServerPrefix(CmsObject cms,
                              CmsResource resource)
Returns the server prefix for the given resource in this site, used to distinguish between secure (https) and non-secure (http) sites.

This is required since a resource may have an individual "secure" setting using the property CmsPropertyDefinition.PROPERTY_SECURE, which means this resource must be delivered only using a secure protocol.

The result will look like http://site.enterprise.com:8080/ or https://site.enterprise.com/.

Parameters:
cms - the current users OpenCms context
resource - the resource to use
Returns:
the server prefix for the given resource in this site
See Also:
getSecureUrl(), getUrl()

getServerPrefix

public String getServerPrefix(CmsObject cms,
                              String resourceName)
Returns the server prefix for the given resource in this site, used to distinguish between secure (https) and non-secure (http) sites.

This is required since a resource may have an individual "secure" setting using the property CmsPropertyDefinition.PROPERTY_SECURE, which means this resource must be delivered only using a secure protocol.

The result will look like http://site.enterprise.com:8080/ or https://site.enterprise.com/.

Parameters:
cms - the current users OpenCms context
resourceName - the resource name
Returns:
the server prefix for the given resource in this site
See Also:
getSecureUrl(), getUrl()

getSiteMatcher

public CmsSiteMatcher getSiteMatcher()
Returns the site matcher that describes the URL of this site.

Returns:
the site matcher that describes the URL of this site

getSitePath

public String getSitePath(String rootPath)
Returns the site path for the given root path in case the root path actually starts with this site root, or null in case the root path does not.

Parameters:
rootPath - the root path to get the site path for
Returns:
the site path for the given root path in case the root path actually starts with this site root, or null in case the root path does not

getSiteRoot

public String getSiteRoot()
Returns the server URL prefix to which this site is mapped.

Returns:
the server URL prefix to which this site is mapped

getSiteRootUUID

public CmsUUID getSiteRootUUID()
Returns the UUID of this site's root directory in the OpenCms VFS.

Returns:
the UUID of this site's root directory in the OpenCms VFS

getTitle

public String getTitle()
Returns the display title of this site.

Returns:
the display title of this site

getUrl

public String getUrl()
Returns the server url of this site root.

Returns:
the server url

hashCode

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

hasSecureServer

public boolean hasSecureServer()
Returns true, if the site has a secure server.

Returns:
true, if the site has a secure server

isExclusiveError

public boolean isExclusiveError()
Returns the exclusive error flag.

Returns:
true will generate a 404 error, or false will redirect to secure url.

isExclusiveUrl

public boolean isExclusiveUrl()
Returns the exclusive protocol flag.

Returns:
true secure resources will only be available using the configured secure url, or false if the uri (protocol + servername) does not really matter.

setExclusiveError

public void setExclusiveError(boolean error)
Sets the exclusive error flag.

Parameters:
error - the exclusive error flag

setExclusiveUrl

public void setExclusiveUrl(boolean exclusive)
Sets the exclusive protocol flag.

Parameters:
exclusive - the exclusive protocol flag

toString

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

addAlias

protected void addAlias(CmsSiteMatcher aliasServer)
Adds an alias for the site.

Parameters:
aliasServer - the sitematcher for the alias

setAliases

protected void setAliases(List<CmsSiteMatcher> aliases)
Sets the aliases for the site.

Parameters:
aliases - the aliases for the site

setSecureServer

protected void setSecureServer(CmsSiteMatcher secureServer)
Sets the secure server.

Parameters:
secureServer - the sitematcher of the secure server

setSiteMatcher

protected void setSiteMatcher(CmsSiteMatcher siteMatcher)
Sets the site matcher that describes the URL of this site.

Parameters:
siteMatcher - the site matcher that describes the URL of this site

setSiteRoot

protected void setSiteRoot(String siteRoot)
Sets the server URL prefix to which this site is mapped.

Parameters:
siteRoot - the server URL prefix to which this site is mapped

setSiteRootUUID

protected void setSiteRootUUID(CmsUUID siteRootUUID)
Sets the UUID of this site's root directory in the OpenCms VFS.

Parameters:
siteRootUUID - the UUID of this site's root directory in the OpenCms VFS

setTitle

protected void setTitle(String name)
Sets the display title of this site.

Parameters:
name - the display title of this site