com.discursive.jccook.xml.jxpath.TeamExample.java Source code

Java tutorial

Introduction

Here is the source code for com.discursive.jccook.xml.jxpath.TeamExample.java

Source

/* 
 * ========================================================================
 * 
 * Copyright 2005 Tim O'Brien.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * 
 * ========================================================================
 */
package com.discursive.jccook.xml.jxpath;

import org.apache.commons.jxpath.JXPathContext;

public class TeamExample {
    public static void main(String[] args) throws Exception {
        new TeamExample().start();
    }

    public void start() throws Exception {
        League league = new League();

        Team team = new Team();
        league.getTeams().add(team);

        Person coach = new Person();
        coach.setFirstName("Coach Bob");
        team.setCoach(coach);

        Person player1 = new Person();
        player1.setFirstName("Player Charlie");
        team.getPlayers().add(player1);

        Person player2 = new Person();
        player2.setFirstName("Player Ted");
        team.getPlayers().add(player2);

        Person player3 = new Person();
        player3.setFirstName("Player Bart");
        team.getPlayers().add(player3);

        Team team2 = new Team();
        league.getTeams().add(team2);

        Person coach2 = new Person();
        coach2.setFirstName("Coach Susan");
        team2.setCoach(coach2);

        Person player4 = new Person();
        player4.setFirstName("Player Jim");
        team2.getPlayers().add(player4);

        JXPathContext context = JXPathContext.newContext(league);
        System.out.println("** Retrieve the first name of Ted's coach");
        Object value = context.getValue("teams/players[firstName = 'Player Ted']/../coach/firstName");
        System.out.println(value);

        context = JXPathContext.newContext(league);
        System.out.println("** Retrieve the players on Coach Susan's team");
        value = context.getValue("teams/coach[firstName = 'Coach Susan']/../players");
        System.out.println(value);
    }

}