Package org.jboss.aop.joinpoint

Examples of org.jboss.aop.joinpoint.FieldInvocation


      return "Observerable";
   }

   public Object invoke(Invocation invocation) throws Throwable
   {
      FieldInvocation fi = (FieldInvocation) invocation;
      Object before = fi.getField().get(fi.getTargetObject());
      Object result = invocation.invokeNext();
      Object after = fi.getField().get(fi.getTargetObject());
      if ((before == null && after != null) || (before != null && before.equals(after) == false))
      {
         Subject observable = (Subject) fi.getTargetObject();
         observable.notifyObservers();
      }
      return result;
   }
View Full Code Here


         return invocation.invokeNext();


      if (invocation instanceof FieldWriteInvocation)
      {
         FieldInvocation fieldInvocation =
               (FieldInvocation) invocation;

         Advisor advisor = fieldInvocation.getAdvisor();
         Field field = fieldInvocation.getField();
         if (log_.isTraceEnabled())
         {
            log_.trace("invoke(): field write interception for fqn: " + fqn_ + " and field: " + field);
         }

         verifyAttached(invocation.getTargetObject());

         // Only if this field is replicatable. static, transient and final are not.
         CachedType fieldType = pCache_.getCachedType(field.getType());
         Object value = ((FieldWriteInvocation) fieldInvocation).getValue();
         if (!CachedType.isNonReplicable(field))
         {
            if (CachedType.isSimpleAttribute(field))
            {
               cache_.put(fqn_, field.getName(), value);
            }
            else
            {
               pCache_.attach(fqn_, value, field.getName());
            }
         }

         Object obj = fieldInvocation.getTargetObject();
         util_.inMemorySubstitution(obj, field, value);
      }
      else if (invocation instanceof FieldReadInvocation)
      {
         FieldInvocation fieldInvocation =
               (FieldInvocation) invocation;
         Field field = fieldInvocation.getField();
         Advisor advisor = fieldInvocation.getAdvisor();

         // Only if this field is replicatable
         CachedType fieldType = pCache_.getCachedType(field.getType());
         if (!CachedType.isNonReplicable(field))
         {
View Full Code Here

      {
         return invocation.invokeNext()// invoke the in-memory pojo directly
      }

      if (invocation instanceof FieldWriteInvocation) {
         FieldInvocation fieldInvocation =
               (FieldInvocation) invocation;

         Advisor advisor = fieldInvocation.getAdvisor();
         Field field = fieldInvocation.getField();

         // Only if this field is replicatable. static, transient and final are not.
         CachedType fieldType = cache.getCachedType(field.getType());
         CachedType parentType = cache.getCachedType(field.getDeclaringClass());
         if(!isNonReplicatable(fieldInvocation)) {
            Object value = ((FieldWriteInvocation)fieldInvocation).getValue();
            if (fieldType.isImmediate() || hasSerializableAnnotation(field, advisor, parentType)) {
               cache.put(fqn, field.getName(), value);
            } else {
               //cache.putObject(((Fqn)fqn.clone()).add(field.getName()), value);
               cache.putObject(new Fqn(fqn, field.getName()), value);
            }
         }

      } else if (invocation instanceof FieldReadInvocation) {
         FieldInvocation fieldInvocation =
               (FieldInvocation) invocation;
         Field field = fieldInvocation.getField();
         Advisor advisor = fieldInvocation.getAdvisor();

         // Only if this field is replicatable
         CachedType fieldType = cache.getCachedType(field.getType());
         CachedType parentType = cache.getCachedType(field.getDeclaringClass());
         if( !isNonReplicatable(fieldInvocation)) {
View Full Code Here

         MethodInvocation mi = (MethodInvocation)invocation;
         Interceptions.addMethodInterception(this.getClass(), mi.getMethod());
      }
      else if (invocation instanceof FieldReadInvocation)
      {
         FieldInvocation fi = (FieldReadInvocation)invocation;
         Interceptions.addFieldReadInterception(this.getClass(), fi.getField());
      }
      else if (invocation instanceof FieldWriteInvocation)
      {
         FieldWriteInvocation fi = (FieldWriteInvocation)invocation;
         Interceptions.addFieldWriteInterception(this.getClass(), fi.getField());
      }
     
      return invocation.invokeNext();
   }
View Full Code Here

         MethodInvocation mi = (MethodInvocation)invocation;
         Interceptions.addMethodInterception(this.getClass(), mi.getMethod());
      }
      else if (invocation instanceof FieldReadInvocation)
      {
         FieldInvocation fi = (FieldReadInvocation)invocation;
         Interceptions.addFieldReadInterception(this.getClass(), fi.getField());
      }
      else if (invocation instanceof FieldWriteInvocation)
      {
         FieldWriteInvocation fi = (FieldWriteInvocation)invocation;
         Interceptions.addFieldWriteInterception(this.getClass(), fi.getField());
      }
     
      return invocation.invokeNext();  
   }
View Full Code Here

         MethodInvocation mi = (MethodInvocation)invocation;
         Interceptions.addMethodInterception(this.getClass(), mi.getMethod());
      }
      else if (invocation instanceof FieldReadInvocation)
      {
         FieldInvocation fi = (FieldReadInvocation)invocation;
         Interceptions.addFieldReadInterception(this.getClass(), fi.getField());
      }
      else if (invocation instanceof FieldWriteInvocation)
      {
         FieldWriteInvocation fi = (FieldWriteInvocation)invocation;
         Interceptions.addFieldWriteInterception(this.getClass(), fi.getField());
      }
     
      return invocation.invokeNext();
   }
View Full Code Here

   public Object invoke(Invocation invocation) throws Throwable
   {
      System.out.println("Intercepting");
      if (invocation instanceof FieldInvocation)
      {
         FieldInvocation inv = (FieldInvocation)invocation;
         intercepted = inv.getField();
      }
     
      return invocation.invokeNext();
   }
View Full Code Here

      if (!(invocation instanceof FieldInvocation))
      {
         throw new RuntimeException("Should only be attached to fields");
      }
     
      FieldInvocation fi = (FieldInvocation)invocation;
      last = this;
      System.out.println("PerJoinpointInterceptor " + this + " intercepting " + fi.getField().getName());
      return invocation.invokeNext();
   }
View Full Code Here

   public Object invoke(Invocation invocation) throws Throwable
   {
      try
      {
         FieldInvocation mi = (FieldInvocation)invocation;
         System.out.println("<<< Entering FieldInterceptor for: " + mi.getField().getName() + " type: " + mi.getClass().getName());
         return invocation.invokeNext();
      }
      finally
      {
         System.out.println(">>> Leaving FieldInterceptor");
View Full Code Here

            ConstructorInvocation ci = (ConstructorInvocation)invocation;
            System.out.println("<<< Entering SimpleInterceptor for: " + ci.getConstructor().toString());
         }
         else if (invocation instanceof ConstructorInvocation)
         {
            FieldInvocation fi = (FieldInvocation)invocation;
            System.out.println("<<< Entering SimpleInterceptor for: " + fi.getField().toString());
         }
         else
         {
            System.out.println("<<< Entering SimpleInterceptor for a caller invocation");
         }
View Full Code Here

TOP

Related Classes of org.jboss.aop.joinpoint.FieldInvocation

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.