/** * 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 java.io.IOException; import java.sql.SQLException; import org.dspace.authorize.AuthorizeException; import org.dspace.core.ConfigurationManager; import org.dspace.core.Constants; import org.dspace.core.Context; import org.dspace.handle.HandleManager; /** * Represents the root of the DSpace Archive. * By default, the handle suffix "0" represents the Site, e.g. "1721.1/0" */ public class Site extends DSpaceObject { /** "database" identifier of the site */ public static final int SITE_ID = 0; // cache for Handle that is persistent ID for entire site. private static String handle = null; private static Site theSite = null; /** * Get the type of this object, found in Constants * * @return type of the object */ public int getType() { return Constants.SITE; } /** * Get the internal ID (database primary key) of this object * * @return internal ID of object */ public int getID() { return SITE_ID; } /** * Get the Handle of the object. This may return <code>null</code> * * @return Handle of the object, or <code>null</code> if it doesn't have * one */ public String getHandle() { return getSiteHandle(); } /** * Static method to return site Handle without creating a Site. * @return handle of the Site. */ public static String getSiteHandle() { if (handle == null) { handle = HandleManager.getPrefix() + "/" + String.valueOf(SITE_ID); } return handle; } /** * Get Site object corresponding to db id (which is ignored). * @param context the context. * @param id integer database id, ignored. * @return Site object. */ public static DSpaceObject find(Context context, int id) throws SQLException { if (theSite == null) { theSite = new Site(); } return theSite; } void delete() throws SQLException, AuthorizeException, IOException { } public void update() throws SQLException, AuthorizeException, IOException { } public String getName() { return ConfigurationManager.getProperty("dspace.name"); } public String getURL() { return ConfigurationManager.getProperty("dspace.url"); } }