Android Open Source - NAQT-Scoresheet-for-Android X M L Visitor






From Project

Back to project page NAQT-Scoresheet-for-Android.

License

The source code is released under:

Apache License

If you think the Android project NAQT-Scoresheet-for-Android listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.naqtscoresheet;
/*w w w. ja  va  2  s.co  m*/
/**
 * 
 * @author mhahnenberg
 */
public class XMLVisitor implements Visitor {
  private final StringBuilder sb;
  private boolean winnerPlayer;
  private boolean loserPlayer;
  
  public XMLVisitor() {
    this.sb = new StringBuilder();
    this.winnerPlayer = false;
    this.loserPlayer = false;
  }
  
  @Override
  public void visit(Game g) {
    this.sb.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
    this.sb.append("<game");
    if (g.getGameID() != null) {
      this.sb.append(" id=\"" + g.getGameID() + "\"");
    }
    this.sb.append(">");
    g.visitChildren(this);
    this.sb.append("</game>");
  }

  @Override
  public void visit(Tossup t) {
    this.sb.append("<tossup num=\"" + t.getTossupNum() + "\"");
    if (t.isTiebreaker()) {
      this.sb.append(" tiebreaker=\"true\"");
    }
    this.sb.append(">");
    if (!t.getWinnerTeam().isBogus()) {
      this.sb.append("<team name=\"" + t.getWinnerTeam().getName() + "\" won=\"true\" points=\"" + t.getWinnerPoints() + "\">");
      for (Player p : t.getWinnerPlayers()) {
        if (p.equals(t.getWinnerPlayer())) {
          this.winnerPlayer = true;
        }
        p.accept(this);
        this.winnerPlayer = false;
      }
      this.sb.append("</team>");
    }
    if (!t.getLoserTeam().isBogus()) {
      this.sb.append("<team name=\"" + t.getLoserTeam().getName() + "\" won=\"false\" points=\"" + t.getLoserPoints() + "\">");
      for (Player p : t.getLoserPlayers()) {
        if (p.equals(t.getLoserPlayer())) {
          this.loserPlayer = true;
        }
        p.accept(this);
        this.loserPlayer = false;
      }
      this.sb.append("</team>");
    }
    this.sb.append("</tossup>");
  }

  @Override
  public void visit(Bonus b) {
    this.sb.append("<bonus points=\"" + b.getPoints() + "\">");
    b.visitChildren(this);
    this.sb.append("</bonus>");
  }

  @Override
  public void visit(Player p) {
    this.sb.append("<player name=\"" + p.getName() + "\"");
    if (this.winnerPlayer) {
      this.sb.append(" winner=\"true\"");
    }
    else if (this.loserPlayer) {
      this.sb.append(" loser=\"true\"");
    }
    this.sb.append(">");
    p.visitChildren(this);
    this.sb.append("</player>");
  }

  @Override
  public void visit(Team t) {
    this.sb.append("<team name=\"" + t.getName() + "\" score=\"" + t.getScore() + "\">");
    t.visitChildren(this);
    this.sb.append("</team>");
  }

  @Override
  public String toString() {
    return this.sb.toString();
  }
}




Java Source Code List

com.naqtscoresheet.Bonus.java
com.naqtscoresheet.DataExport.java
com.naqtscoresheet.Game.java
com.naqtscoresheet.JSONVisitor.java
com.naqtscoresheet.LoadGameScreen.java
com.naqtscoresheet.NAQTScoresheet.java
com.naqtscoresheet.PlayerStatsScreen.java
com.naqtscoresheet.Player.java
com.naqtscoresheet.StatsScreen.java
com.naqtscoresheet.TeamStatsScreen.java
com.naqtscoresheet.Team.java
com.naqtscoresheet.Tossup.java
com.naqtscoresheet.Visitable.java
com.naqtscoresheet.Visitor.java
com.naqtscoresheet.XMLVisitor.java