Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / api / xmpp / PresenceBuilder.java
blob7de8869b74642d28645d5a367797957f5a322c01
1 // Copyright 2011 Google Inc. All Rights Reserved.
3 package com.google.appengine.api.xmpp;
5 /**
6 * Builder used to generate {@link Presence} instances to represent
7 * incoming XMPP presence stanzas.
9 */
10 public class PresenceBuilder {
12 private PresenceType presenceType;
13 private PresenceShow presenceShow;
14 private String status;
15 private JID fromJid;
16 private JID toJid;
17 private String stanza;
18 private boolean valid;
20 public PresenceBuilder withPresenceType(PresenceType presenceType) {
21 this.presenceType = presenceType;
22 return this;
25 public PresenceBuilder withPresenceShow(PresenceShow presenceShow) {
26 this.presenceShow = presenceShow;
27 return this;
30 public PresenceBuilder withStatus(String status) {
31 this.status = status;
32 return this;
35 public PresenceBuilder withFromJid(JID fromJid) {
36 this.fromJid = fromJid;
37 return this;
40 public PresenceBuilder withToJid(JID toJid) {
41 this.toJid = toJid;
42 return this;
45 PresenceBuilder withStanza(String stanza) {
46 this.stanza = stanza;
47 return this;
50 PresenceBuilder withValid(boolean valid) {
51 this.valid = valid;
52 return this;
55 public Presence build() {
56 if (this.presenceType == null) {
57 throw new IllegalArgumentException("Must have a type");
60 return new Presence(presenceType, presenceShow, status, toJid, fromJid, stanza, valid);