Package org.jvnet.hk2.component

Examples of org.jvnet.hk2.component.InhabitantActivator


    public T create(Inhabitant onBehalfOf) throws ComponentException {
        try {
            return type.newInstance();
        } catch (InstantiationException e) {
            throw new ComponentException("Failed to create "+type,e);
        } catch (IllegalAccessException e) {
            throw new ComponentException("Failed to create "+type,e);
        } catch (LinkageError e) {
            throw new ComponentException("Failed to create "+type,e);
        } catch (RuntimeException e) {
            throw new ComponentException("Failed to create "+type,e);
        }
    }
View Full Code Here


      }
 
      // other general case
      Scope scope = habitat.getByType(scopeClass);
      if (scope==null) {
          throw new ComponentException("Failed to look up %s", scopeClass);
      }
 
      return new ScopedInhabitant<T>(creator,scope);
  }
View Full Code Here

  static void validate(Object target, Object injectedVal) {
      if (null != injectedVal) {
          RunLevel targetRL = AbstractInhabitantImpl.getAnnotation(target.getClass(), RunLevel.class, false);
          RunLevel injectedValRL = AbstractInhabitantImpl.getAnnotation(injectedVal.getClass(), RunLevel.class, false);
          if (null == targetRL && null != injectedValRL) {
              throw new ComponentException("invalid dependency from a non-RunLevel instance " +
                  target + " to a RunLevel instance " + injectedVal);
        }
    }
  }
View Full Code Here

    public WonderlandAppServer(Server server) {
        this.server = server;

        // add a module to properly specify the classpath
        Habitat h = server.getHabitat();
        ModulesRegistry mr = h.getComponent(ModulesRegistry.class);
        mr.add(new ClasspathModuleDefinition(WebServerLauncher.getClassLoader()));
    }
View Full Code Here

    public Habitat createHabitat() throws ComponentException {
        if (null != habitatFactory) {
          return habitatFactory.newHabitat();
        }
       
        return new Habitat();
    }
View Full Code Here

            if (replacements.containsKey(typeName)) {
                // create a replacement instead
                Class<?> target = replacements.get(typeName);
                if(target!=null) {
                    inhabitantParser.setImplName(target.getName());
                    Inhabitant i = null;
                    try {
                      i = Inhabitants.create(target,habitat,inhabitantParser.getMetaData());
                    } catch (Exception e) {
                      log(typeName, e);
                    }
View Full Code Here

   * by ourself.
   *
   * @return an InhabitantActivator, defaulting to ourself
   */
  protected InhabitantActivator getInhabitantActivator() {
    InhabitantActivator ia = habitat.getComponent(InhabitantActivator.class, getName());
    if (null == ia) {
      ia = habitat.getByContract(InhabitantActivator.class);
    }
    return (null == ia) ? this : ia;
  }
View Full Code Here

          logger.log(Level.FINER, "sorting {0}", activations);
        }
        activations = is.sort(activations);
        assert(null != activations);
       
        InhabitantActivator ia = getInhabitantActivator();
        for (Inhabitant<?> rli : activations) {
          if (logger.isLoggable(Level.FINER)) {
            logger.log(Level.FINER, "activating {0} - " + getDescription(true), rli);
          }
       
          try {
            ia.activate(rli);
  //        assert(rli.isInstantiated());
           
            // an escape hatch if we've been interrupted in some way
            checkInterrupt(null, rli, null);
          } catch (Exception e) {
View Full Code Here

        if (null != downRecorder) {
          // Causes release of the entire activationSet.  Release occurs in the inverse
          // order of the recordings.  So A->B->C will have startUp ordering be (C,B,A)
          // because of dependencies.  The shutdown ordering will b (A,B,C).

          InhabitantActivator ia = getInhabitantActivator();
         
          Inhabitant<?> i;
          while (null != (i = downRecorder.pop())) {
            if (logger.isLoggable(Level.FINER)) {
              logger.log(Level.FINER, "releasing {0} - " + getDescription(true), i);
            }
           
            try{
              ia.deactivate(i);
//              assert(!i.isInstantiated());
              checkInterrupt(null, i, null);
            } catch (Exception e) {
              checkInterrupt(e, i, null);
            }
View Full Code Here

      assert(null != rl) : typeName + " is a problem; " + i + " has no RunLevel annotation";
      assert(!i.isInstantiated()) : "inhabitant should not be active: " + i;

      // get the appropriate RLS for this RunLevel
      RunLevelService<?> rls = runLevelServices.get(habitat, rl);
      InhabitantListener listener = InhabitantListener.class.isInstance(rls) ?
          InhabitantListener.class.cast(rls) : null;

      // wrap the inhabitant with a RunLevelInhabitant
      int runLevel = rl.value();
     
View Full Code Here

TOP

Related Classes of org.jvnet.hk2.component.InhabitantActivator

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.