Crossfire JXClient, Trunk
MessageTypesBuilder.java
Go to the documentation of this file.
1 package com.realtime.crossfire.jxclient.protocol;
2 
3 import java.util.ArrayList;
4 import java.util.List;
5 import org.jetbrains.annotations.NotNull;
6 
10 public class MessageTypesBuilder {
11 
16  private final boolean add;
17 
21  @NotNull
22  private final List<Integer> types = new ArrayList<>();
23 
29  public MessageTypesBuilder(final boolean add) {
30  this.add = add;
31  }
32 
38  public void addType(@NotNull final String type) throws UnknownMessageTypeException {
39  try {
41  return;
42  } catch (final UnknownMessageTypeException ignored) {
43  }
44 
45  final int type2 = MessageType.parseMessageType(type);
46  //noinspection NumericOverflow
47  types.add((0xFFFF<<16)|(type2&0xFFFF));
48  }
49 
54  @NotNull
55  public MessageTypes build() {
56  final int[] tmp = new int[types.size()];
57  for (int i = 0; i < types.size(); i++) {
58  tmp[i] = types.get(i);
59  }
60  return new MessageTypes(add, tmp);
61  }
62 
63 }
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder.add
final boolean add
Definition: MessageTypesBuilder.java:16
com.realtime.crossfire.jxclient.protocol.MessageType.parseMessageType
static int parseMessageType(@NotNull final String str)
Definition: MessageType.java:764
com.realtime.crossfire.jxclient.protocol.MessageTypes
Definition: MessageTypes.java:31
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder.build
MessageTypes build()
Definition: MessageTypesBuilder.java:55
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder.types
final List< Integer > types
Definition: MessageTypesBuilder.java:22
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder.addType
void addType(@NotNull final String type)
Definition: MessageTypesBuilder.java:38
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder
Definition: MessageTypesBuilder.java:10
com.realtime.crossfire.jxclient.protocol.MessageTypesBuilder.MessageTypesBuilder
MessageTypesBuilder(final boolean add)
Definition: MessageTypesBuilder.java:29
com.realtime.crossfire.jxclient.protocol.MessageType
Definition: MessageType.java:33
com.realtime.crossfire.jxclient.protocol.MessageType.parseMessageSubtype
static int parseMessageSubtype(@NotNull final String str)
Definition: MessageType.java:778
com.realtime.crossfire.jxclient.protocol.UnknownMessageTypeException
Definition: UnknownMessageTypeException.java:31