public void addedStatement(com.hp.hpl.jena.rdf.model.Statement stmt) {

    if (stmt.getPredicate().equals(hasContextProperty)) {
      if (!stmt.getObject().canAs(com.hp.hpl.jena.rdf.model.Resource.class)) return;
      com.hp.hpl.jena.rdf.model.Resource resource =
          (com.hp.hpl.jena.rdf.model.Resource)
              stmt.getObject().as(com.hp.hpl.jena.rdf.model.Resource.class);
      hasContext = null;
      if (true) { // don't check resource type if the property range is Resource
        try {
          hasContext =
              ibspan.tss.um.ontology.UserModellingFactory.getUserBehaviourContext(resource, _model);
        } catch (JastorException e) {
          // e.printStackTrace();
        }
      }
      if (listeners != null) {
        java.util.ArrayList consumers;
        synchronized (listeners) {
          consumers = (java.util.ArrayList) listeners.clone();
        }
        for (java.util.Iterator iter = consumers.iterator(); iter.hasNext(); ) {
          ExtendedUserBehaviourListener listener = (ExtendedUserBehaviourListener) iter.next();
          listener.hasContextChanged(ibspan.tss.um.ontology.ExtendedUserBehaviourImpl.this);
        }
      }
      return;
    }
    if (stmt.getPredicate().equals(hasUserBehaviourProperty)) {
      if (!stmt.getObject().canAs(com.hp.hpl.jena.rdf.model.Resource.class)) return;
      com.hp.hpl.jena.rdf.model.Resource resource =
          (com.hp.hpl.jena.rdf.model.Resource)
              stmt.getObject().as(com.hp.hpl.jena.rdf.model.Resource.class);
      hasUserBehaviour = null;
      if (true) { // don't check resource type if the property range is Resource
        try {
          hasUserBehaviour =
              ibspan.tss.um.ontology.UserModellingFactory.getUserBehaviour(resource, _model);
        } catch (JastorException e) {
          // e.printStackTrace();
        }
      }
      if (listeners != null) {
        java.util.ArrayList consumers;
        synchronized (listeners) {
          consumers = (java.util.ArrayList) listeners.clone();
        }
        for (java.util.Iterator iter = consumers.iterator(); iter.hasNext(); ) {
          ExtendedUserBehaviourListener listener = (ExtendedUserBehaviourListener) iter.next();
          listener.hasUserBehaviourChanged(ibspan.tss.um.ontology.ExtendedUserBehaviourImpl.this);
        }
      }
      return;
    }
  }
 public ibspan.tss.um.ontology.UserBehaviour setHasUserBehaviour(
     com.hp.hpl.jena.rdf.model.Resource resource) throws JastorException {
   if (!_model.contains(resource, RDF.type, ibspan.tss.um.ontology.UserBehaviour.TYPE))
     throw new JastorException(
         "Resource " + resource + " not of type " + ibspan.tss.um.ontology.UserBehaviour.TYPE);
   if (_model.contains(_resource, hasUserBehaviourProperty)) {
     _model.removeAll(_resource, hasUserBehaviourProperty, null);
   }
   ibspan.tss.um.ontology.UserBehaviour hasUserBehaviour =
       ibspan.tss.um.ontology.UserModellingFactory.getUserBehaviour(resource, _model);
   this.hasUserBehaviour = hasUserBehaviour;
   _model.add(
       _model.createStatement(_resource, hasUserBehaviourProperty, hasUserBehaviour.resource()));
   return hasUserBehaviour;
 }
 public ibspan.tss.um.ontology.UserBehaviour getHasUserBehaviour() throws JastorException {
   if (hasUserBehaviour != null) return hasUserBehaviour;
   com.hp.hpl.jena.rdf.model.Statement stmt =
       _model.getProperty(_resource, hasUserBehaviourProperty);
   if (stmt == null) return null;
   if (!stmt.getObject().canAs(com.hp.hpl.jena.rdf.model.Resource.class))
     throw new JastorInvalidRDFNodeException(
         uri()
             + ": hasUserBehaviour getProperty() in ibspan.tss.um.ontology.ExtendedUserBehaviour model not Resource",
         stmt.getObject());
   com.hp.hpl.jena.rdf.model.Resource resource =
       (com.hp.hpl.jena.rdf.model.Resource)
           stmt.getObject().as(com.hp.hpl.jena.rdf.model.Resource.class);
   hasUserBehaviour =
       ibspan.tss.um.ontology.UserModellingFactory.getUserBehaviour(resource, _model);
   return hasUserBehaviour;
 }