/** * Copyright 2009 Joe LaPenna */ package com.joelapenna.foursquare.parsers; import com.joelapenna.foursquare.Foursquare; import com.joelapenna.foursquare.error.FoursquareError; import com.joelapenna.foursquare.error.FoursquareParseException; import com.joelapenna.foursquare.types.User; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; /** * Auto-generated: 2010-01-14 11:02:45.160349 * * @author Joe LaPenna (joe@joelapenna.com) * @param <T> */ public class UserParser extends AbstractParser<User> { private static final Logger LOG = Logger.getLogger(UserParser.class.getCanonicalName()); private static final boolean DEBUG = Foursquare.PARSER_DEBUG; @Override public User parseInner(XmlPullParser parser) throws XmlPullParserException, IOException, FoursquareError, FoursquareParseException { parser.require(XmlPullParser.START_TAG, null, null); User user = new User(); while (parser.nextTag() == XmlPullParser.START_TAG) { String name = parser.getName(); if ("badges".equals(name)) { user.setBadges(new GroupParser(new BadgeParser()).parse(parser)); } else if ("checkin".equals(name)) { user.setCheckin(new CheckinParser().parse(parser)); } else if ("created".equals(name)) { user.setCreated(parser.nextText()); } else if ("email".equals(name)) { user.setEmail(parser.nextText()); } else if ("facebook".equals(name)) { user.setFacebook(parser.nextText()); } else if ("firstname".equals(name)) { user.setFirstname(parser.nextText()); } else if ("friendstatus".equals(name)) { user.setFriendstatus(parser.nextText()); } else if ("gender".equals(name)) { user.setGender(parser.nextText()); } else if ("id".equals(name)) { user.setId(parser.nextText()); } else if ("lastname".equals(name)) { user.setLastname(parser.nextText()); } else if ("mayor".equals(name)) { user.setMayorships(new GroupParser(new VenueParser()).parse(parser)); } else if ("mayorcount".equals(name)) { user.setMayorCount(Integer.valueOf(parser.nextText())); } else if ("phone".equals(name)) { user.setPhone(parser.nextText()); } else if ("photo".equals(name)) { user.setPhoto(parser.nextText()); } else if ("settings".equals(name)) { user.setSettings(new SettingsParser().parse(parser)); } else if ("twitter".equals(name)) { user.setTwitter(parser.nextText()); } else if ("types".equals(name)) { user.setTypes(new TypesParser().parse(parser)); } else { // Consume something we don't understand. if (DEBUG) LOG.log(Level.FINE, "Found tag that we don't recognize: " + name); skipSubTree(parser); } } return user; } }