smartmemberreader.html

来自「基于mondrian 开源框架进行OLAP多维分析」· HTML 代码 · 共 1,072 行 · 第 1/5 页

HTML
1,072
字号
<!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.5.0_15) on Thu Jul 31 17:20:13 EDT 2008 --><TITLE>SmartMemberReader (Mondrian OLAP Server, version 3.0.4.11371)</TITLE><META NAME="keywords" CONTENT="mondrian.rolap.SmartMemberReader class"><LINK REL ="stylesheet" TYPE="text/css" HREF="../../stylesheet.css" TITLE="Style"><SCRIPT type="text/javascript">function windowTitle(){    parent.document.title="SmartMemberReader (Mondrian OLAP Server, version 3.0.4.11371)";}</SCRIPT><NOSCRIPT></NOSCRIPT></HEAD><BODY BGCOLOR="white" onload="windowTitle();"><!-- ========= 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="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="../../mondrian/rolap/SmartMemberListCache.Key2.html" title="class in mondrian.rolap"><B>PREV CLASS</B></A>&nbsp;&nbsp;<A HREF="../../mondrian/rolap/SmartMemberReader.SiblingIterator.html" title="class in mondrian.rolap"><B>NEXT CLASS</B></A></FONT></TD><TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">  <A HREF="../../index.html?mondrian/rolap/SmartMemberReader.html" target="_top"><B>FRAMES</B></A>  &nbsp;&nbsp;<A HREF="SmartMemberReader.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;<A HREF="#nested_class_summary">NESTED</A>&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">mondrian.rolap</FONT><BR>Class SmartMemberReader</H2><PRE><A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html" title="class or interface in java.lang">java.lang.Object</A>  <IMG SRC="../../resources/inherit.gif" ALT="extended by "><B>mondrian.rolap.SmartMemberReader</B></PRE><DL><DT><B>All Implemented Interfaces:</B> <DD><A HREF="../../mondrian/rolap/MemberReader.html" title="interface in mondrian.rolap">MemberReader</A>, <A HREF="../../mondrian/rolap/MemberSource.html" title="interface in mondrian.rolap">MemberSource</A></DD></DL><DL><DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../mondrian/rolap/RolapCubeHierarchy.RolapCubeHierarchyMemberReader.html" title="class in mondrian.rolap">RolapCubeHierarchy.RolapCubeHierarchyMemberReader</A></DD></DL><HR><DL><DT><PRE>public class <B>SmartMemberReader</B><DT>extends <A HREF="http://java.sun.com/javase/6/docs/api/java/lang/Object.html" title="class or interface in java.lang">Object</A><DT>implements <A HREF="../../mondrian/rolap/MemberReader.html" title="interface in mondrian.rolap">MemberReader</A></DL></PRE><P><code>SmartMemberReader</code> implements <A HREF="../../mondrian/rolap/MemberReader.html" title="interface in mondrian.rolap"><CODE>MemberReader</CODE></A> by keeping a cache of members and their children. If a member is 'in cache', there is a list of its children. It also caches the members of levels. <p>Synchronization: the MemberReader <code>source</code> must be called from synchronized(this) context - it does not synchronize itself (probably it should).</p> <p>Constraints: Member.Children and Level.Members may be constrained by a SqlConstraint object. In this case a subset of all members is returned. These subsets are cached too and the SqlConstraint is part of the cache key. This is used in NON EMPTY context.</p> <p>Uniqueness. We need to ensure that there is never more than one <A HREF="../../mondrian/rolap/RolapMember.html" title="class in mondrian.rolap"><CODE>RolapMember</CODE></A> object representing the same member.</p><P><P><DL><DT><B>Since:</B></DT>  <DD>21 December, 2001</DD><DT><B>Version:</B></DT>  <DD>$Id: //open/mondrian-release/3.0/src/main/mondrian/rolap/SmartMemberReader.java#3 $</DD><DT><B>Author:</B></DT>  <DD>jhyde</DD></DL><HR><P><!-- ======== NESTED CLASS SUMMARY ======== --><A NAME="nested_class_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>Nested Class Summary</B></FONT></TH></TR><TR BGCOLOR="white" CLASS="TableRowColor"><TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1"><CODE>(package private) &nbsp;class</CODE></FONT></TD><TD><CODE><B><A HREF="../../mondrian/rolap/SmartMemberReader.SiblingIterator.html" title="class in mondrian.rolap">SmartMemberReader.SiblingIterator</A></B></CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>SiblingIterator</code> helps traverse a hierarchy of members, by remembering the position at each level.</TD></TR></TABLE>&nbsp;<!-- =========== 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 &nbsp;<A HREF="../../mondrian/rolap/MemberCacheHelper.html" title="class in mondrian.rolap">MemberCacheHelper</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../mondrian/rolap/SmartMemberReader.html#cacheHelper">cacheHelper</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;<A HREF="http://java.sun.com/javase/6/docs/api/java/util/List.html" title="class or interface in java.util">List</A>&lt;<A HREF="../../mondrian/rolap/RolapMember.html" title="class in mondrian.rolap">RolapMember</A>&gt;</CODE></FONT></TD><TD><CODE><B><A HREF="../../mondrian/rolap/SmartMemberReader.html#rootMembers">rootMembers</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;<A HREF="../../mondrian/rolap/MemberReader.html" title="interface in mondrian.rolap">MemberReader</A></CODE></FONT></TD><TD><CODE><B><A HREF="../../mondrian/rolap/SmartMemberReader.html#source">source</A></B></CODE><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;access to <code>source</code> must be synchronized(this)</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="../../mondrian/rolap/SmartMemberReader.html#SmartMemberReader(mondrian.rolap.MemberReader)">SmartMemberReader</A></B>(<A HREF="../../mondrian/rolap/MemberReader.html" title="interface in mondrian.rolap">MemberReader</A>&nbsp;source)</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>protected &nbsp;void</CODE></FONT></TD><TD><CODE><B><A HREF="../../mondrian/rolap/SmartMemberReader.html#checkCacheStatus()">checkCacheStatus</A></B>()</CODE><BR>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?