/** * The contents of this file are subject to the license and copyright * detailed in the LICENSE and NOTICE files at the root of the source * tree and available online at * * http://www.dspace.org/license/ */ package org.dspace.content; import org.dspace.content.factory.ContentServiceFactory; import org.dspace.content.service.SiteService; import org.dspace.core.ConfigurationManager; import org.dspace.core.Constants; import org.dspace.core.Context; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; /** * Represents the root of the DSpace Archive. * By default, the handle suffix "0" represents the Site, e.g. "1721.1/0" */ @Entity @Table(name = "site") public class Site extends DSpaceObject { @Transient private transient SiteService siteService; /** * Protected constructor, create object using: * {@link org.dspace.content.service.SiteService#createSite(Context)} * */ protected Site() { } /** * Get the type of this object, found in Constants * * @return type of the object */ @Override public int getType() { return Constants.SITE; } @Override public String getName() { return getSiteService().getName(this); } public String getURL() { return ConfigurationManager.getProperty("dspace.url"); } private SiteService getSiteService() { if(siteService == null) { siteService = ContentServiceFactory.getInstance().getSiteService(); } return siteService; } }