/*
* Copyright (C) 2005-2010 Alfresco Software Limited.
*
* This file is part of Alfresco
*
* Alfresco is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Alfresco is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Alfresco. If not, see .
*/
package org.alfresco.service.license;
import java.security.Principal;
import java.util.Date;
/**
* Provides access to License information.
*
* @author davidc
*/
public interface LicenseDescriptor
{
/**
* Gets the date license was issued
*
* @return issue date
*/
public Date getIssued();
/**
* Gets the date license is valid till
*
* @return valid until date (or null, if no time limit)
*/
public Date getValidUntil();
/**
* Gets the length (in days) of license validity
*
* @return length in days of license validity (or null, if no time limit)
*/
public Integer getDays();
/**
* Ges the number of remaining days left on license
*
* @return remaining days (or null, if no time limit)
*/
public Integer getRemainingDays();
/**
* Gets the subject of the license
*
* @return the subject
*/
public String getSubject();
/**
* Gets the holder of the license
*
* @return the holder
*/
public Principal getHolder();
/**
* Gets the issuer of the license
*
* @return the issuer
*/
public Principal getIssuer();
/**
* Does this license allow the heartbeat to be disabled?
*
* @return true
if this license allow the heartbeat to be disabled
*/
public boolean isHeartBeatDisabled();
/**
* Gets an alternative URL that the heart beat should post data to, or null
if the default URL is to be used.
*
* @return a URL or null
*/
public String getHeartBeatUrl();
}