blob: 143c43077812f70dfece5bb0a0c3897503a1a367 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<!-- Generated by javadoc (build 1.6.0_65) on Fri Mar 04 17:58:56 EST 2016 -->
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<TITLE>
SimpleSession (Apache Shiro 1.2.4 API)
</TITLE>
<META NAME="date" CONTENT="2016-03-04">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">
<SCRIPT type="text/javascript">
function windowTitle()
{
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="SimpleSession (Apache Shiro 1.2.4 API)";
}
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
</HEAD>
<BODY BGCOLOR="white" onload="windowTitle();">
<HR>
<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSessionFactory.html" title="class in org.apache.shiro.session.mgt"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/session/mgt/SimpleSession.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SimpleSession.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->
<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.shiro.session.mgt</FONT>
<BR>
Class SimpleSession</H2>
<PRE>
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</A>
<IMG SRC="../../../../../resources/inherit.gif" ALT="extended by "><B>org.apache.shiro.session.mgt.SimpleSession</B>
</PRE>
<DL>
<DT><B>All Implemented Interfaces:</B> <DD><A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>, <A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</A>, <A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public class <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.42"><B>SimpleSession</B></A><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></DL>
</PRE>
<P>
Simple <A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session"><CODE>Session</CODE></A> JavaBeans-compatible POJO implementation, intended to be used on the
business/server tier.
<P>
<P>
<DL>
<DT><B>Since:</B></DT>
<DD>0.1</DD>
<DT><B>See Also:</B><DD><A HREF="../../../../../serialized-form.html#org.apache.shiro.session.mgt.SimpleSession">Serialized Form</A></DL>
<HR>
<P>
<!-- =========== FIELD SUMMARY =========== -->
<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_HOUR">MILLIS_PER_HOUR</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_MINUTE">MILLIS_PER_MINUTE</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected static&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#MILLIS_PER_SECOND">MILLIS_PER_SECOND</A></B></CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<A NAME="constructor_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Constructor Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#SimpleSession()">SimpleSession</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#SimpleSession(java.lang.String)">SimpleSession</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->
<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#equals(java.lang.Object)">equals</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns <code>true</code> if the specified argument is an <code>instanceof</code> <code>SimpleSession</code> and both
<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getId()"><CODE>id</CODE></A>s are equal.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#expire()">expire</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getAttribute(java.lang.Object)">getAttribute</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the object bound to this session identified by the specified key.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getAttributeKeys()">getAttributeKeys</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the keys of all the attributes stored under this session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getAttributes()">getAttributes</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getHost()">getHost</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the host name or IP string of the host that originated this session, or <code>null</code>
if the host is unknown.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getId()">getId</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the unique identifier assigned by the system upon session creation.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getLastAccessTime()">getLastAccessTime</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the last time the application received a request or method invocation from the user associated
with this session.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getStartTimestamp()">getStartTimestamp</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time the session was started; that is, the time the system created the instance.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getStopTimestamp()">getStopTimestamp</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time the session was stopped, or <tt>null</tt> if the session is still active.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;long</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getTimeout()">getTimeout</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the time in milliseconds that the session session may remain idle before expiring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;int</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#hashCode()">hashCode</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the hashCode.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#isExpired()">isExpired</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this session has expired, false otherwise.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#isStopped()">isStopped</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#isTimedOut()">isTimedOut</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Determines if this session is expired.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#isValid()">isValid</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#onEquals(org.apache.shiro.session.mgt.SimpleSession)">onEquals</A></B>(<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</A>&nbsp;ss)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provides an attribute-based comparison (no ID comparison) - incurred <em>only</em> when 'this' or the
session object being compared for equality do not have a session id.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#removeAttribute(java.lang.Object)">removeAttribute</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes (unbinds) the object bound to this session under the specified <code>key</code> name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setAttribute(java.lang.Object, java.lang.Object)">setAttribute</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Binds the specified <code>value</code> to this session, uniquely identified by the specifed
<code>key</code> name.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setAttributes(java.util.Map)">setAttributes</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&nbsp;attributes)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setExpired(boolean)">setExpired</A></B>(boolean&nbsp;expired)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setHost(java.lang.String)">setHost</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setId(java.io.Serializable)">setId</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>&nbsp;id)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setLastAccessTime(java.util.Date)">setLastAccessTime</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;lastAccessTime)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setStartTimestamp(java.util.Date)">setStartTimestamp</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;startTimestamp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setStopTimestamp(java.util.Date)">setStopTimestamp</A></B>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;stopTimestamp)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#setTimeout(long)">setTimeout</A></B>(long&nbsp;timeout)</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the time in milliseconds that the session may remain idle before expiring.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#stop()">stop</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Explicitly stops (invalidates) this session and releases all associated resources.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#toString()">toString</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the string representation of this SimpleSession, equal to
<code>getClass().getName() + &quot;,id=&quot; + getId()</code>.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#touch()">touch</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Explicitly updates the <A HREF="../../../../../org/apache/shiro/session/Session.html#getLastAccessTime()"><CODE>lastAccessTime</CODE></A> of this session to the current time when
this method is invoked.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#validate()">validate</A></B>()</CODE>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from class java.lang.<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</A>, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#wait(long, int)" title="class or interface in java.lang">wait</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>
<!-- ============ FIELD DETAIL =========== -->
<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Field Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="MILLIS_PER_SECOND"><!-- --></A><H3>
MILLIS_PER_SECOND</H3>
<PRE>
protected static final long <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.54"><B>MILLIS_PER_SECOND</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.session.mgt.SimpleSession.MILLIS_PER_SECOND">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MILLIS_PER_MINUTE"><!-- --></A><H3>
MILLIS_PER_MINUTE</H3>
<PRE>
protected static final long <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.55"><B>MILLIS_PER_MINUTE</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.session.mgt.SimpleSession.MILLIS_PER_MINUTE">Constant Field Values</A></DL>
</DL>
<HR>
<A NAME="MILLIS_PER_HOUR"><!-- --></A><H3>
MILLIS_PER_HOUR</H3>
<PRE>
protected static final long <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.56"><B>MILLIS_PER_HOUR</B></A></PRE>
<DL>
<DL>
<DT><B>See Also:</B><DD><A HREF="../../../../../constant-values.html#org.apache.shiro.session.mgt.SimpleSession.MILLIS_PER_HOUR">Constant Field Values</A></DL>
</DL>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<A NAME="constructor_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Constructor Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="SimpleSession()"><!-- --></A><H3>
SimpleSession</H3>
<PRE>
public <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.95"><B>SimpleSession</B></A>()</PRE>
<DL>
</DL>
<HR>
<A NAME="SimpleSession(java.lang.String)"><!-- --></A><H3>
SimpleSession</H3>
<PRE>
public <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.101"><B>SimpleSession</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</PRE>
<DL>
</DL>
<!-- ============ METHOD DETAIL ========== -->
<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>
<A NAME="getId()"><!-- --></A><H3>
getId</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.106"><B>getId</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getId()">Session</A></CODE></B></DD>
<DD>Returns the unique identifier assigned by the system upon session creation.
<p/>
All return values from this method are expected to have proper <code>toString()</code>,
<code>equals()</code>, and <code>hashCode()</code> implementations. Good candidates for such
an identifier are <A HREF="http://java.sun.com/javase/6/docs/api/java/util/UUID.html?is-external=true" title="class or interface in java.util"><CODE>UUID</CODE></A>s, <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang"><CODE>Integer</CODE></A>s, and
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang"><CODE>String</CODE></A>s.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getId()">getId</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The unique identifier assigned to the session upon creation.</DL>
</DD>
</DL>
<HR>
<A NAME="setId(java.io.Serializable)"><!-- --></A><H3>
setId</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.110"><B>setId</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</A>&nbsp;id)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStartTimestamp()"><!-- --></A><H3>
getStartTimestamp</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.114"><B>getStartTimestamp</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getStartTimestamp()">Session</A></CODE></B></DD>
<DD>Returns the time the session was started; that is, the time the system created the instance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getStartTimestamp()">getStartTimestamp</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The time the system created the session.</DL>
</DD>
</DL>
<HR>
<A NAME="setStartTimestamp(java.util.Date)"><!-- --></A><H3>
setStartTimestamp</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.118"><B>setStartTimestamp</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;startTimestamp)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getStopTimestamp()"><!-- --></A><H3>
getStopTimestamp</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.139"><B>getStopTimestamp</B></A>()</PRE>
<DL>
<DD>Returns the time the session was stopped, or <tt>null</tt> if the session is still active.
<p/>
A session may become stopped under a number of conditions:
<ul>
<li>If the user logs out of the system, their current session is terminated (released).</li>
<li>If the session expires</li>
<li>The application explicitly calls <A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#stop()"><CODE>stop()</CODE></A></li>
<li>If there is an internal system error and the session state can no longer accurately
reflect the user's behavior, such in the case of a system crash</li>
</ul>
<p/>
Once stopped, a session may no longer be used. It is locked from all further activity.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The time the session was stopped, or <tt>null</tt> if the session is still
active.</DL>
</DD>
</DL>
<HR>
<A NAME="setStopTimestamp(java.util.Date)"><!-- --></A><H3>
setStopTimestamp</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.143"><B>setStopTimestamp</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;stopTimestamp)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getLastAccessTime()"><!-- --></A><H3>
getLastAccessTime</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.147"><B>getLastAccessTime</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getLastAccessTime()">Session</A></CODE></B></DD>
<DD>Returns the last time the application received a request or method invocation from the user associated
with this session. Application calls to this method do not affect this access time.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getLastAccessTime()">getLastAccessTime</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>The time the user last interacted with the system.<DT><B>See Also:</B><DD><A HREF="../../../../../org/apache/shiro/session/Session.html#touch()"><CODE>Session.touch()</CODE></A></DL>
</DD>
</DL>
<HR>
<A NAME="setLastAccessTime(java.util.Date)"><!-- --></A><H3>
setLastAccessTime</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.151"><B>setLastAccessTime</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Date.html?is-external=true" title="class or interface in java.util">Date</A>&nbsp;lastAccessTime)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isExpired()"><!-- --></A><H3>
isExpired</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.161"><B>isExpired</B></A>()</PRE>
<DL>
<DD>Returns true if this session has expired, false otherwise. If the session has
expired, no further user interaction with the system may be done under this session.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if this session has expired, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="setExpired(boolean)"><!-- --></A><H3>
setExpired</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.165"><B>setExpired</B></A>(boolean&nbsp;expired)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getTimeout()"><!-- --></A><H3>
getTimeout</H3>
<PRE>
public long <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.169"><B>getTimeout</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getTimeout()">Session</A></CODE></B></DD>
<DD>Returns the time in milliseconds that the session session may remain idle before expiring.
<ul>
<li>A negative return value means the session will never expire.</li>
<li>A non-negative return value (0 or greater) means the session expiration will occur if idle for that
length of time.</li>
</ul>
<b>*Note:</b> if you are used to the <code>HttpSession</code>'s <code>getMaxInactiveInterval()</code> method, the scale on
this method is different: Shiro Sessions use millisecond values for timeout whereas
<code>HttpSession.getMaxInactiveInterval</code> uses seconds. Always use millisecond values with Shiro sessions.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getTimeout()">getTimeout</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the time in milliseconds the session may remain idle before expiring.</DL>
</DD>
</DL>
<HR>
<A NAME="setTimeout(long)"><!-- --></A><H3>
setTimeout</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.173"><B>setTimeout</B></A>(long&nbsp;timeout)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#setTimeout(long)">Session</A></CODE></B></DD>
<DD>Sets the time in milliseconds that the session may remain idle before expiring.
<ul>
<li>A negative value means the session will never expire.</li>
<li>A non-negative value (0 or greater) means the session expiration will occur if idle for that
length of time.</li>
</ul>
<p/>
<b>*Note:</b> if you are used to the <code>HttpSession</code>'s <code>getMaxInactiveInterval()</code> method, the scale on
this method is different: Shiro Sessions use millisecond values for timeout whereas
<code>HttpSession.getMaxInactiveInterval</code> uses seconds. Always use millisecond values with Shiro sessions.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#setTimeout(long)">setTimeout</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>timeout</CODE> - the time in milliseconds that the session may remain idle before expiring.</DL>
</DD>
</DL>
<HR>
<A NAME="getHost()"><!-- --></A><H3>
getHost</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.177"><B>getHost</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getHost()">Session</A></CODE></B></DD>
<DD>Returns the host name or IP string of the host that originated this session, or <code>null</code>
if the host is unknown.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getHost()">getHost</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the host name or IP string of the host that originated this session, or <code>null</code>
if the host address is unknown.</DL>
</DD>
</DL>
<HR>
<A NAME="setHost(java.lang.String)"><!-- --></A><H3>
setHost</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.181"><B>setHost</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A>&nbsp;host)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="getAttributes()"><!-- --></A><H3>
getAttributes</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.185"><B>getAttributes</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="setAttributes(java.util.Map)"><!-- --></A><H3>
setAttributes</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.189"><B>setAttributes</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>,<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt;&nbsp;attributes)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="touch()"><!-- --></A><H3>
touch</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.193"><B>touch</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#touch()">Session</A></CODE></B></DD>
<DD>Explicitly updates the <A HREF="../../../../../org/apache/shiro/session/Session.html#getLastAccessTime()"><CODE>lastAccessTime</CODE></A> of this session to the current time when
this method is invoked. This method can be used to ensure a session does not time out.
<p/>
Most programmers won't use this method directly and will instead rely on the last access time to be updated
automatically as a result of an incoming web request or remote procedure call/method invocation.
<p/>
However, this method is particularly useful when supporting rich-client applications such as
Java Web Start appp, Java or Flash applets, etc. Although rare, it is possible in a rich-client
environment that a user continuously interacts with the client-side application without a
server-side method call ever being invoked. If this happens over a long enough period of
time, the user's server-side session could time-out. Again, such cases are rare since most
rich-clients frequently require server-side method invocations.
<p/>
In this example though, the user's session might still be considered valid because
the user is actively &quot;using&quot; the application, just not communicating with the
server. But because no server-side method calls are invoked, there is no way for the server
to know if the user is sitting idle or not, so it must assume so to maintain session
integrity. This <code>touch()</code> method could be invoked by the rich-client application code during those
times to ensure that the next time a server-side method is invoked, the invocation will not
throw an <A HREF="../../../../../org/apache/shiro/session/ExpiredSessionException.html" title="class in org.apache.shiro.session"><CODE>ExpiredSessionException</CODE></A>. In short terms, it could be used periodically
to ensure a session does not time out.
<p/>
How often this rich-client &quot;maintenance&quot; might occur is entirely dependent upon
the application and would be based on variables such as session timeout configuration,
usage characteristics of the client application, network utilization and application server
performance.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#touch()">touch</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="stop()"><!-- --></A><H3>
stop</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.197"><B>stop</B></A>()</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#stop()">Session</A></CODE></B></DD>
<DD>Explicitly stops (invalidates) this session and releases all associated resources.
<p/>
If this session has already been authenticated (i.e. the <code>Subject</code> that
owns this session has logged-in), calling this method explicitly might have undesired side effects:
<p/>
It is common for a <code>Subject</code> implementation to retain authentication state in the
<code>Session</code>. If the session
is explicitly stopped by application code by calling this method directly, it could clear out any
authentication state that might exist, thereby effectively &quot;unauthenticating&quot; the <code>Subject</code>.
<p/>
As such, you might consider <A HREF="../../../../../org/apache/shiro/subject/Subject.html#logout()"><CODE>logging-out</CODE></A> the 'owning'
<code>Subject</code> instead of manually calling this method, as a log out is expected to stop the
corresponding session automatically, and also allows framework code to execute additional cleanup logic.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#stop()">stop</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isStopped()"><!-- --></A><H3>
isStopped</H3>
<PRE>
protected boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.203"><B>isStopped</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="expire()"><!-- --></A><H3>
expire</H3>
<PRE>
protected void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.207"><B>expire</B></A>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<A NAME="isValid()"><!-- --></A><H3>
isValid</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.215"><B>isValid</B></A>()</PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html#isValid()">isValid</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Since:</B></DT>
<DD>0.9</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="isTimedOut()"><!-- --></A><H3>
isTimedOut</H3>
<PRE>
protected boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.224"><B>isTimedOut</B></A>()</PRE>
<DL>
<DD>Determines if this session is expired.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>true if the specified session has expired, false otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="validate()"><!-- --></A><H3>
validate</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.263"><B>validate</B></A>()
throws <A HREF="../../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></PRE>
<DL>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html#validate()">validate</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/mgt/ValidatingSession.html" title="interface in org.apache.shiro.session.mgt">ValidatingSession</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></CODE></DL>
</DD>
</DL>
<HR>
<A NAME="getAttributeKeys()"><!-- --></A><H3>
getAttributeKeys</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/util/Collection.html?is-external=true" title="class or interface in java.util">Collection</A>&lt;<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&gt; <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.305"><B>getAttributeKeys</B></A>()
throws <A HREF="../../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getAttributeKeys()">Session</A></CODE></B></DD>
<DD>Returns the keys of all the attributes stored under this session. If there are no
attributes, this returns an empty collection.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getAttributeKeys()">getAttributeKeys</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the keys of all attributes stored under this session, or an empty collection if
there are no session attributes.
<DT><B>Throws:</B>
<DD><CODE><A HREF="../../../../../org/apache/shiro/session/InvalidSessionException.html" title="class in org.apache.shiro.session">InvalidSessionException</A></CODE> - if this session has stopped or expired prior to calling this method.</DL>
</DD>
</DL>
<HR>
<A NAME="getAttribute(java.lang.Object)"><!-- --></A><H3>
getAttribute</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.313"><B>getAttribute</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getAttribute(java.lang.Object)">Session</A></CODE></B></DD>
<DD>Returns the object bound to this session identified by the specified key. If there is no
object bound under the key, <code>null</code> is returned.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#getAttribute(java.lang.Object)">getAttribute</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the unique name of the object bound to this session
<DT><B>Returns:</B><DD>the object bound under the specified <code>key</code> name or <code>null</code> if there is
no object bound under that name.</DL>
</DD>
</DL>
<HR>
<A NAME="setAttribute(java.lang.Object, java.lang.Object)"><!-- --></A><H3>
setAttribute</H3>
<PRE>
public void <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.321"><B>setAttribute</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key,
<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;value)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#setAttribute(java.lang.Object, java.lang.Object)">Session</A></CODE></B></DD>
<DD>Binds the specified <code>value</code> to this session, uniquely identified by the specifed
<code>key</code> name. If there is already an object bound under the <code>key</code> name, that
existing object will be replaced by the new <code>value</code>.
<p/>
If the <code>value</code> parameter is null, it has the same effect as if
<A HREF="../../../../../org/apache/shiro/session/Session.html#removeAttribute(java.lang.Object)"><CODE>removeAttribute</CODE></A> was called.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#setAttribute(java.lang.Object, java.lang.Object)">setAttribute</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the name under which the <code>value</code> object will be bound in this session<DD><CODE>value</CODE> - the object to bind in this session.</DL>
</DD>
</DL>
<HR>
<A NAME="removeAttribute(java.lang.Object)"><!-- --></A><H3>
removeAttribute</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.329"><B>removeAttribute</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;key)</PRE>
<DL>
<DD><B>Description copied from interface: <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#removeAttribute(java.lang.Object)">Session</A></CODE></B></DD>
<DD>Removes (unbinds) the object bound to this session under the specified <code>key</code> name.
<P>
<DD><DL>
<DT><B>Specified by:</B><DD><CODE><A HREF="../../../../../org/apache/shiro/session/Session.html#removeAttribute(java.lang.Object)">removeAttribute</A></CODE> in interface <CODE><A HREF="../../../../../org/apache/shiro/session/Session.html" title="interface in org.apache.shiro.session">Session</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>key</CODE> - the name uniquely identifying the object to remove
<DT><B>Returns:</B><DD>the object removed or <code>null</code> if there was no object bound under the name
<code>key</code>.</DL>
</DD>
</DL>
<HR>
<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.351"><B>equals</B></A>(<A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A>&nbsp;obj)</PRE>
<DL>
<DD>Returns <code>true</code> if the specified argument is an <code>instanceof</code> <code>SimpleSession</code> and both
<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getId()"><CODE>id</CODE></A>s are equal. If the argument is a <code>SimpleSession</code> and either 'this' or the argument
does not yet have an ID assigned, the value of <A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#onEquals(org.apache.shiro.session.mgt.SimpleSession)"><CODE>onEquals</CODE></A> is returned, which
does a necessary attribute-based comparison when IDs are not available.
<p/>
Do your best to ensure <code>SimpleSession</code> instances receive an ID very early in their lifecycle to
avoid the more expensive attributes-based comparison.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</A></CODE> in class <CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>obj</CODE> - the object to compare with this one for equality.
<DT><B>Returns:</B><DD><code>true</code> if this object is equivalent to the specified argument, <code>false</code> otherwise.</DL>
</DD>
</DL>
<HR>
<A NAME="onEquals(org.apache.shiro.session.mgt.SimpleSession)"><!-- --></A><H3>
onEquals</H3>
<PRE>
protected boolean <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.377"><B>onEquals</B></A>(<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html" title="class in org.apache.shiro.session.mgt">SimpleSession</A>&nbsp;ss)</PRE>
<DL>
<DD>Provides an attribute-based comparison (no ID comparison) - incurred <em>only</em> when 'this' or the
session object being compared for equality do not have a session id.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>ss</CODE> - the SimpleSession instance to compare for equality.
<DT><B>Returns:</B><DD>true if all the attributes, except the id, are equal to this object's attributes.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="hashCode()"><!-- --></A><H3>
hashCode</H3>
<PRE>
public int <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.398"><B>hashCode</B></A>()</PRE>
<DL>
<DD>Returns the hashCode. If the <A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSession.html#getId()"><CODE>id</CODE></A> is not <code>null</code>, its hashcode is returned immediately.
If it is <code>null</code>, an attributes-based hashCode will be calculated and returned.
<p/>
Do your best to ensure <code>SimpleSession</code> instances receive an ID very early in their lifecycle to
avoid the more expensive attributes-based calculation.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</A></CODE> in class <CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>this object's hashCode<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<HR>
<A NAME="toString()"><!-- --></A><H3>
toString</H3>
<PRE>
public <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</A> <A HREF="../../../../../src-html/org/apache/shiro/session/mgt/SimpleSession.html#line.422"><B>toString</B></A>()</PRE>
<DL>
<DD>Returns the string representation of this SimpleSession, equal to
<code>getClass().getName() + &quot;,id=&quot; + getId()</code>.
<P>
<DD><DL>
<DT><B>Overrides:</B><DD><CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</A></CODE> in class <CODE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</A></CODE></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>the string representation of this SimpleSession, equal to
<code>getClass().getName() + &quot;,id=&quot; + getId()</code>.<DT><B>Since:</B></DT>
<DD>1.0</DD>
</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
<TR ALIGN="center" VALIGN="top">
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="class-use/SimpleSession.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
<TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1"> <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
</TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>
<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/shiro/session/mgt/SessionValidationScheduler.html" title="interface in org.apache.shiro.session.mgt"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/shiro/session/mgt/SimpleSessionFactory.html" title="class in org.apache.shiro.session.mgt"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
<A HREF="../../../../../index.html?org/apache/shiro/session/mgt/SimpleSession.html" target="_top"><B>FRAMES</B></A> &nbsp;
&nbsp;<A HREF="SimpleSession.html" target="_top"><B>NO FRAMES</B></A> &nbsp;
&nbsp;<SCRIPT type="text/javascript">
<!--
if(window==top) {
document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
}
//-->
</SCRIPT>
<NOSCRIPT>
<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>
</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<HR>
Copyright &#169; 2004-2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>