/*
* See LICENSE for licensing and NOTICE for copyright.
*/
package net.shibboleth.idp.cas.ticket;
import javax.annotation.Nonnull;
import net.shibboleth.utilities.java.support.logic.Constraint;
import org.joda.time.Instant;
/**
* CAS proxy ticket.
*
* @author Marvin S. Addison
*/
public class ProxyTicket extends Ticket {
/** Proxy-granting ticket used to create ticket. */
@Nonnull private final String pgtId;
/**
* Creates a new authenticated ticket with an identifier, service, and expiration date.
*
* @param id Ticket ID.
* @param sessionId IdP session ID used to create ticket.
* @param service Service that requested the ticket.
* @param expiration Expiration instant.
* @param pgtId Proxy-granting ticket ID used to create ticket.
*/
public ProxyTicket(
@Nonnull final String id,
@Nonnull final String sessionId,
@Nonnull final String service,
@Nonnull final Instant expiration,
@Nonnull final String pgtId) {
super(id, sessionId, service, expiration);
this.pgtId = Constraint.isNotNull(pgtId, "PgtId cannot be null");
}
@Nonnull public String getPgtId() {
return pgtId;
}
}