Package org.jboss.errai.ioc.rebind.ioc.codegen.meta

Examples of org.jboss.errai.ioc.rebind.ioc.codegen.meta.MetaField


    super(decoratesWith);
  }

  @Override
  public Statement generateDecorator(InjectableInstance<ConversationContext> injectableInstance) {
    final MetaField field = injectableInstance.getField();
    final JClassType eventClassType = injectableInstance.getInjectionContext().getProcessingContext()
            .loadClassType(Event.class);

    if (!MetaClassFactory.get(eventClassType).isAssignableFrom(field.getType())) {
      throw new RuntimeException("@ConversationContext should be used with type Event");
    }

    MetaParameterizedType type = field.getType().getParameterizedType();
    if (type == null) {
      throw new RuntimeException("Event<?> must be parameterized");
    }

    MetaClass typeParm = (MetaClass) type.getTypeParameters()[0];
View Full Code Here


            for (Field method : fields) {
              final Annotation aInstance = method.getAnnotation(aClass);

              final MetaClass type = MetaClassFactory.get(method.getDeclaringClass());
              final MetaField metaField = MetaClassFactory.get(method);

              entry.addProcessingDelegate(new ProcessingDelegate<MetaField>() {
                @Override
                public boolean process() {
                  injectorFactory.addType(type);
View Full Code Here

    this.fieldName = fieldName;
  }

  @Override
  public void handleCall(final CallWriter writer, final Context context, Statement statement) {
    final MetaField field;
    if (fieldName.equals("this")) {
      // TODO this is a workaround to access the enclosing instance of a type
      field = new BuildMetaField(null, null, Scope.Private, statement.getType(), "this");
    }
    else {
      field = statement.getType().getField(fieldName);
    }

    if (field == null) {
      throw new UndefinedFieldException(fieldName, statement.getType());
    }

    final String currCallString = writer.getCallString();
    writer.reset();

    statement = new VariableReference() {

      @Override
      public String getName() {
        return field.getName();
      }

      @Override
      public Statement getValue() {
        return null;
      }

      @Override
      public String generate(Context context) {
        return currCallString + "." + getName();
      }

      @Override
      public MetaClass getType() {
        return field.getType();
      }
    };

    nextOrReturn(writer, context, statement);
  }
View Full Code Here

            for (Field method : fields) {
              final Annotation aInstance = method.getAnnotation(aClass);

              final MetaClass type = MetaClassFactory.get(method.getDeclaringClass());
              final MetaField metaField = MetaClassFactory.get(method);

              entry.addProcessingDelegate(new ProcessingDelegate<MetaField>() {
                @Override
                public boolean process() {
                  injectorFactory.addType(type);
View Full Code Here

    super(decoratesWith);
  }

  @Override
  public Statement generateDecorator(InjectableInstance<ReplyTo> injectableInstance) {
    final MetaField field = injectableInstance.getField();
    final ReplyTo context = field.getAnnotation(ReplyTo.class);

     return Stmt.nestedCall(injectableInstance.getValueStatement())
             .invoke("setReplyTo", context.value());
  }
View Full Code Here

    super(decoratesWith);
  }

  @Override
  public Statement generateDecorator(InjectableInstance<ToSubject> injectableInstance) {
    final MetaField field = injectableInstance.getField();
    final ToSubject context = field.getAnnotation(ToSubject.class);

    return Stmt.nestedCall(injectableInstance.getValueStatement())
            .invoke("setToSubject", context.value());
  }
View Full Code Here

    this.fieldName = fieldName;
  }

  @Override
  public void handleCall(final CallWriter writer, final Context context, Statement statement) {
    final MetaField field = statement.getType().getField(fieldName);

    if (field == null) {
      throw new UndefinedFieldException(fieldName, statement.getType());
    }

    final String currCallString = writer.getCallString();
    writer.reset();

    statement = new VariableReference() {

      @Override
      public String getName() {
        return field.getName();
      }

      @Override
      public Statement getValue() {
        return null;
      }

      @Override
      public String generate(Context context) {
        return currCallString + "." + getName();
      }

      @Override
      public MetaClass getType() {
        return field.getType();
      }
    };

    nextOrReturn(writer, context, statement);
  }
View Full Code Here

TOP

Related Classes of org.jboss.errai.ioc.rebind.ioc.codegen.meta.MetaField

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.