View Javadoc

1   /***
2    * Jetrix TetriNET Server
3    * Copyright (C) 2001-2003  Emmanuel Bourg
4    *
5    * This program is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU General Public License
7    * as published by the Free Software Foundation; either version 2
8    * of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   *
15   * You should have received a copy of the GNU General Public License
16   * along with this program; if not, write to the Free Software
17   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  
20  package net.jetrix.messages.channel;
21  
22  import net.jetrix.Field;
23  
24  /***
25   * A field change message.
26   *
27   * @author Emmanuel Bourg
28   * @version $Revision: 868 $, $Date: 2010-08-27 13:41:18 +0200 (ven., 27 août 2010) $
29   */
30  public class FieldMessage extends ChannelMessage
31  {
32      private String field;
33  
34      public FieldMessage() { }
35  
36      public FieldMessage(String field)
37      {
38          this(0, field);
39      }
40  
41      public FieldMessage(int slot, String field)
42      {
43          setSlot(slot);
44          setField(field);
45      }
46  
47      public String getField()
48      {
49          return field;
50      }
51  
52      public void setField(String field)
53      {
54          this.field = field;
55      }
56  
57      /***
58       * Tells if the field message is a full update.
59       * 
60       * @since 0.3
61       */
62      public boolean isFullUpdate()
63      {
64          return !isEmpty() && field.length() == Field.WIDTH * Field.HEIGHT;
65      }
66  
67      /***
68       * Tells if the field message is a partial update.
69       * 
70       * @since 0.3
71       */
72      public boolean isPartialUpdate()
73      {
74          if (isEmpty())
75          {
76              return false;
77          }
78          
79          char first = field.charAt(0);
80          return first >= 0x21 && first <= 0x2f;
81      }
82  
83      /***
84       * Tells if the field message is empty.
85       * 
86       * @since 0.3
87       */
88      public boolean isEmpty()
89      {
90          return field == null || field.length() == 0;
91      }
92  }