<HTML>
<!--
  Copyright 2004 The Apache Software Foundation

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<HEAD>
<title>
colors.ColorGameBean Bean Properties
</title>
<BODY BGCOLOR="white">
<H2>
colors.ColorGameBean Bean Properties
</H2>
<HR>
<DL>
<DT>public class <B>ColorGameBean</B><DT>extends Object</DL>

<P>
<HR>

<P>

<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0">
<TR BGCOLOR="#EEEEFF">
<TD COLSPAN=3><FONT SIZE="+2">
<B>Properties Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
String
</FONT></TD>
<TD><B>ColorGameBean:color2</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
String
</FONT></TD>
<TD><B>ColorGameBean:color1</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
int
</FONT></TD>
<TD><B>ColorGameBean:attempts</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
boolean
</FONT></TD>
<TD><B>ColorGameBean:hint</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
boolean
</FONT></TD>
<TD><B>ColorGameBean:success</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
<TR BGCOLOR="white">
<td align="right" valign="top" width="1%">
<FONT SIZE="-1">
boolean
</FONT></TD>
<TD><B>ColorGameBean:hintTaken</B>
<BR>
       </TD>
<td width="1%">
<FONT SIZE="-1">
Single
</FONT></TD>
</TABLE>
<HR>
</BODY>
</HTML>
