Home » openejb-3.1.2-src » org » superbiz » telephone » [javadoc | source]

    1   /**
    2    * Licensed to the Apache Software Foundation (ASF) under one or more
    3    * contributor license agreements.  See the NOTICE file distributed with
    4    * this work for additional information regarding copyright ownership.
    5    * The ASF licenses this file to You under the Apache License, Version 2.0
    6    * (the "License"); you may not use this file except in compliance with
    7    * the License.  You may obtain a copy of the License at
    8    *
    9    *     http://www.apache.org/licenses/LICENSE-2.0
   10    *
   11    *  Unless required by applicable law or agreed to in writing, software
   12    *  distributed under the License is distributed on an "AS IS" BASIS,
   13    *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   14    *  See the License for the specific language governing permissions and
   15    *  limitations under the License.
   16    */
   17   //START SNIPPET: code
   18   package org.superbiz.telephone;
   19   
   20   import javax.ejb.Remote;
   21   import javax.ejb.Stateful;
   22   import java.util.ArrayList;
   23   import java.util.List;
   24   
   25   @Remote
   26   @Stateful
   27   public class TelephoneBean implements Telephone {
   28   
   29       private static final String[] answers = {
   30               "How nice.",
   31               "Oh, of course.",
   32               "Interesting.",
   33               "Really?",
   34               "No.",
   35               "Definitely.",
   36               "I wondered about that.",
   37               "Good idea.",
   38               "You don't say!",
   39       };
   40   
   41       private List<String> conversation = new ArrayList<String>();
   42   
   43       public void speak(String words) {
   44           conversation.add(words);
   45       }
   46   
   47       public String listen() {
   48           if (conversation.size() == 0) {
   49               return "Nothing has been said";
   50           }
   51   
   52           String lastThingSaid = conversation.get(conversation.size() - 1);
   53           return answers[Math.abs(lastThingSaid.hashCode()) % answers.length];
   54       }
   55   }
   56   //END SNIPPET: code

Home » openejb-3.1.2-src » org » superbiz » telephone » [javadoc | source]