Examples of IocEventSet


Examples of org.nutz.ioc.meta.IocEventSet

  public ObjectProxy make(IocMaking ing, IocObject iobj) {
    // 获取 Mirror, AOP 将在这个方法中进行
    Mirror<?> mirror = ing.getMirrors().getMirror(iobj.getType(), ing.getObjectName());

    // 获取配置的对象事件集合
    IocEventSet iocEventSet = iobj.getEvents();

    // 建立对象代理,并保存在上下文环境中 只有对象为 singleton
    // 并且有一个非 null 的名称的时候才会保存
    // 就是说,所有内部对象,将会随这其所附属的对象来保存,而自己不会单独保存
    ObjectProxy op = new ObjectProxy();
    if (iobj.isSingleton() && null != ing.getObjectName())
      ing.getContext().save(iobj.getScope(), ing.getObjectName(), op);

    // 为对象代理设置触发事件
    if (null != iobj.getEvents()) {
      op.setFetch(createTrigger(mirror, iocEventSet.getFetch()));
      op.setDepose(createTrigger(mirror, iocEventSet.getDepose()));
    }

    try {
      // 准备对象的编织方式
      DefaultWeaver dw = new DefaultWeaver();
      op.setWeaver(dw);

      // 为编织器设置事件触发器:创建时
      if (null != iobj.getEvents()) {
        dw.setCreate(createTrigger(mirror, iocEventSet.getCreate()));
      }

      // 构造函数参数
      ValueProxy[] vps = new ValueProxy[Lang.length(iobj.getArgs())];
      for (int i = 0; i < vps.length; i++)
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

    // merge events
    if (me.getEvents() == null) {
      me.setEvents(it.getEvents());
    } else if (it.getEvents() != null) {
      IocEventSet eventSet = it.getEvents();
      IocEventSet myEventSet = me.getEvents();
      if (Strings.isBlank(myEventSet.getCreate()))
        myEventSet.setCreate(eventSet.getCreate());
      if (Strings.isBlank(myEventSet.getDepose()))
        myEventSet.setDepose(eventSet.getDepose());
      if (Strings.isBlank(myEventSet.getFetch()))
        myEventSet.setFetch(eventSet.getFetch());
    }

    // merge scope
    if (Strings.isBlank(me.getScope())) {
      me.setScope(it.getScope());
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

        iobj.setScope(v.toString());
      // events
      try {
        v = map.get("events");
        if (null != v) {
          IocEventSet ies = Lang.map2Object((Map<?, ?>) v, IocEventSet.class);
          iobj.setEvents(ies);
        }
      }
      catch (Exception e) {
        throw E(e, "Wrong events: '%s'", v);
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

  protected void parseEvents(Element beanElement, IocObject iocObject) {
    List<Element> elist = getChildNodesByTagName(beanElement, "events");
    if (elist.size() > 0) {
      Element eventsElement = elist.get(0);
      IocEventSet iocEventSet = new IocEventSet();
      elist = getChildNodesByTagName(eventsElement, "fetch");
      if (elist.size() > 0)
        iocEventSet.setFetch(elist.get(0).getTextContent());
      elist = getChildNodesByTagName(eventsElement, "create");
      if (elist.size() > 0)
        iocEventSet.setCreate(elist.get(0).getTextContent());
      elist = getChildNodesByTagName(eventsElement, "depose");
      if (elist.size() > 0)
        iocEventSet.setDepose(elist.get(0).getTextContent());
      if (iocEventSet.getCreate() == null)
        if (iocEventSet.getDepose() == null)
          if (iocEventSet.getFetch() == null)
            return;
      iocObject.setEvents(iocEventSet);
    }
  }
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

      if (null != args && args.length > 0)
        for (String value : args)
          iocObject.addArg(convert(value));

      // 设置Events
      IocEventSet eventSet = new IocEventSet();
      iocObject.setEvents(eventSet);
      if (!Strings.isBlank(iocBean.create()))
        eventSet.setCreate(iocBean.create().trim().intern());
      if (!Strings.isBlank(iocBean.depose()))
        eventSet.setDepose(iocBean.depose().trim().intern());
      if (!Strings.isBlank(iocBean.fetch()))
        eventSet.setFetch(iocBean.fetch().trim().intern());

      // 处理字段(以@Inject方式,位于字段)
      List<String> fieldList = new ArrayList<String>();
      Mirror<?> mirror = Mirror.me(classZ);
      Field[] fields = mirror.getFields(Inject.class);
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

    protected void parseEvents(Element beanElement, IocObject iocObject) {
        List<Element> elist = getChildNodesByTagName(beanElement, "events");
        if (elist.size() > 0) {
            Element eventsElement = elist.get(0);
            IocEventSet iocEventSet = new IocEventSet();
            elist = getChildNodesByTagName(eventsElement, "fetch");
            if (elist.size() > 0)
                iocEventSet.setFetch(elist.get(0).getTextContent());
            elist = getChildNodesByTagName(eventsElement, "create");
            if (elist.size() > 0)
                iocEventSet.setCreate(elist.get(0).getTextContent());
            elist = getChildNodesByTagName(eventsElement, "depose");
            if (elist.size() > 0)
                iocEventSet.setDepose(elist.get(0).getTextContent());
            if (iocEventSet.getCreate() == null)
                if (iocEventSet.getDepose() == null)
                    if (iocEventSet.getFetch() == null)
                        return;
            iocObject.setEvents(iocEventSet);
        }
    }
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

            if (null != args && args.length > 0)
                for (String value : args)
                    iocObject.addArg(convert(value));

            // 设置Events
            IocEventSet eventSet = new IocEventSet();
            iocObject.setEvents(eventSet);
            if (!Strings.isBlank(iocBean.create()))
                eventSet.setCreate(iocBean.create().trim().intern());
            if (!Strings.isBlank(iocBean.depose()))
                eventSet.setDepose(iocBean.depose().trim().intern());
            if (!Strings.isBlank(iocBean.fetch()))
                eventSet.setFetch(iocBean.fetch().trim().intern());

            // 处理字段(以@Inject方式,位于字段)
            List<String> fieldList = new ArrayList<String>();
            Mirror<?> mirror = Mirror.me(classZ);
            Field[] fields = mirror.getFields(Inject.class);
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

    public ObjectProxy make(IocMaking ing, IocObject iobj) {
        // 获取 Mirror, AOP 将在这个方法中进行
        Mirror<?> mirror = ing.getMirrors().getMirror(iobj.getType(), ing.getObjectName());

        // 获取配置的对象事件集合
        IocEventSet iocEventSet = iobj.getEvents();

        // 建立对象代理,并保存在上下文环境中 只有对象为 singleton
        // 并且有一个非 null 的名称的时候才会保存
        // 就是说,所有内部对象,将会随这其所附属的对象来保存,而自己不会单独保存
        ObjectProxy op = new ObjectProxy();
        if (iobj.isSingleton() && null != ing.getObjectName())
            ing.getContext().save(iobj.getScope(), ing.getObjectName(), op);

        // 为对象代理设置触发事件
        if (null != iobj.getEvents()) {
            op.setFetch(createTrigger(mirror, iocEventSet.getFetch()));
            op.setDepose(createTrigger(mirror, iocEventSet.getDepose()));
        }

        try {
            // 准备对象的编织方式
            DefaultWeaver dw = new DefaultWeaver();
            op.setWeaver(dw);

            // 为编织器设置事件触发器:创建时
            if (null != iobj.getEvents()) {
                dw.setCreate(createTrigger(mirror, iocEventSet.getCreate()));
            }

            // 构造函数参数
            ValueProxy[] vps = new ValueProxy[Lang.length(iobj.getArgs())];
            for (int i = 0; i < vps.length; i++)
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

        // merge events
        if (me.getEvents() == null) {
            me.setEvents(it.getEvents());
        } else if (it.getEvents() != null) {
            IocEventSet eventSet = it.getEvents();
            IocEventSet myEventSet = me.getEvents();
            if (Strings.isBlank(myEventSet.getCreate()))
                myEventSet.setCreate(eventSet.getCreate());
            if (Strings.isBlank(myEventSet.getDepose()))
                myEventSet.setDepose(eventSet.getDepose());
            if (Strings.isBlank(myEventSet.getFetch()))
                myEventSet.setFetch(eventSet.getFetch());
        }

        // merge scope
        if (Strings.isBlank(me.getScope())) {
            me.setScope(it.getScope());
View Full Code Here

Examples of org.nutz.ioc.meta.IocEventSet

                iobj.setScope(v.toString());
            // events
            try {
                v = map.get("events");
                if (null != v) {
                    IocEventSet ies = Lang.map2Object((Map<?, ?>) v, IocEventSet.class);
                    iobj.setEvents(ies);
                }
            }
            catch (Exception e) {
                throw E(e, "Wrong events: '%s'", v);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.