blob: 1425e9e472bb2ec485bdf60e4a30bb5918d39845 [file] [log] [blame]
/*
* $Id: StrutsSpringObjectFactory.java 817418 2009-09-21 21:36:17Z musachy $
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you 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 org.apache.struts2.example.cdi;
import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.enterprise.inject.Instance;
import javax.inject.Inject;
import javax.inject.Named;
import java.io.Serializable;
@Named
@SessionScoped
public class Game implements Serializable {
public static final String CORRECT = "Correct !!!";
public static final String WRONG = "Sorry, wrong number !!!";
private int number;
private int guess;
private int smallest;
@MaxNumber
@Inject
private int maxNumber;
private int biggest;
private int remainingGuesses;
@Random
@Inject
Instance<Integer> randomNumber;
public Game() {
}
public int getNumber() {
return number;
}
public int getGuess() {
return guess;
}
public void setGuess( int guess ) {
this.guess = guess;
}
public int getSmallest() {
return smallest;
}
public int getBiggest() {
return biggest;
}
public int getRemainingGuesses() {
return remainingGuesses;
}
public String check() throws InterruptedException {
if (guess > number) {
biggest = guess - 1;
}
if (guess < number) {
smallest = guess + 1;
}
if (guess == number) {
return CORRECT;
}
remainingGuesses--;
return WRONG;
}
@PostConstruct
public void reset() {
this.smallest = 0;
this.guess = 0;
this.remainingGuesses = 10;
this.biggest = maxNumber;
this.number = randomNumber.get();
}
}