title: Is this class not a Java Bean?
body: <p>I am trying to use existing Java classes to create a web service using Axis2.  </p>
  
  <p>When I send a request to the web service, Axis2 displays the following message:</p>
  
  <pre><code>[01 Nov 2012 16:37:05:244] classloader.BeanInfoCache: Unable to locate a BeanInfo cache for class ems.shared.Fti (stopClass=class java.lang.Object). This will negatively affect performance!
  </code></pre>
  
  <p>I'm not sure what that error means, but it makes me wonder if the ems.shared.Fti class doesn't satisfy all the requirements to being a Java Bean.  Can you see anything wrong with this class?</p>
  
  <pre><code>package ems.shared;
  
  import java.io.Serializable;
  
  public class Fti implements Serializable
  {
      private static final long serialVersionUID = 7476379431395094501L;
  
      public static final Fti UNDEFINED = new Fti(-1);
  
      public static final Fti BROADCAST = new Fti((int) (Math.pow(2, 20) - 2));
  
      private int fti;
  
      public Fti() {
  
      }
  
      public Fti(int fti)
      {
          this.fti = fti;
      }
  
      public Fti(String fti)
      {
          try
          {
              this.fti = Integer.parseInt(fti);
          }
          catch (NumberFormatException e)
          {
              throw new IllegalArgumentException(fti + " is not a valid FTI");
          }
      }
  
      public void setFti(int fti) {
          this.fti = fti;
      }
  
      public int getFti() {
          return fti;
      }
  
      public int asInt()
      {
          return this.fti;
      }
  
      @Override
      public String toString()
      {
          return String.valueOf(fti);
      }
  
      @Override
      public int hashCode()
      {
          final int prime = 31;
          int result = 1;
          result = prime * result + fti;
          return result;
      }
  
      @Override
      public boolean equals(Object obj)
      {
          if (this == obj)
              return true;
          if (obj == null)
              return false;
          if (getClass() != obj.getClass())
              return false;
          Fti other = (Fti) obj;
          if (fti != other.fti)
              return false;
          return true;
      }
  }
  </code></pre>