Package jadex.micro

Class MicroClassReader

java.lang.Object
jadex.micro.MicroClassReader

public class MicroClassReader extends Object
Reads micro agent classes and generates a model from metainfo and annotations.
  • Constructor Details

    • MicroClassReader

      public MicroClassReader()
  • Method Details

    • read

      public MicroModel read(String model, Object pojo, String[] imports, ClassLoader classloader)
      Load a model.
      Parameters:
      model - The model (e.g. file name).
      The - imports (if any).
      Returns:
      The loaded model.
    • read

      protected MicroModel read(String model, Class<?> cma, ClassLoader classloader)
      Load the model.
    • fillMicroModelFromAnnotations

      protected void fillMicroModelFromAnnotations(MicroModel micromodel, String model, Class<?> clazz, ClassLoader cl)
      Fill the model details using annotation.
    • checkMethodReturnType

      protected void checkMethodReturnType(Class<? extends Annotation> ann, Method m, ClassLoader cl)
      Check, if the return type of the agent method is acceptable.
    • getOrCreateMap

      protected Map<String,Object> getOrCreateMap(String name, Map<String,Object> map)
      Get or create a map.
    • getOrCreateList

      protected List<Object> getOrCreateList(String name, Map<String,Object> map)
      Get or create a list.
    • getOrCreateSet

      protected Set<Object> getOrCreateSet(String name, Map<String,Object> map)
      Get or create a set.
    • evaluateExpression

      protected Object evaluateExpression(String exp, String[] imports, jadex.common.IValueFetcher fetcher, ClassLoader classloader)
      Evaluate an expression string (using "" -> null mapping) as annotations do not support null values.
    • createComponentInstanceInfo

      protected jadex.model.modelinfo.ComponentInstanceInfo createComponentInstanceInfo(Component comp)
      Create component instance info from component annotation.
    • createComponentInstanceInfo

      public static jadex.model.modelinfo.ComponentInstanceInfo createComponentInstanceInfo(CreationInfo comp)
      Create component instance info from creation info annotation.
    • createUnparsedExpressions

      public static jadex.common.UnparsedExpression[] createUnparsedExpressions(jadex.model.annotation.Value[] values)
      Create unparsed expressions.
    • getMicroAgentClass

      protected Class<?> getMicroAgentClass(String clname, String[] imports, ClassLoader classloader)
      Get the mirco agent class.
    • isAnnotationPresent

      public static boolean isAnnotationPresent(Class<?> clazz, Class<? extends Annotation> anclazz, ClassLoader cl)
    • isAnnotationPresent

      public static boolean isAnnotationPresent(Field f, Class<? extends Annotation> anclazz, ClassLoader cl)
    • isAnnotationPresent

      public static boolean isAnnotationPresent(Method m, Class<? extends Annotation> anclazz, ClassLoader cl)
    • isAnnotationPresent

      public static boolean isAnnotationPresent(Constructor<?> con, Class<? extends Annotation> anclazz, ClassLoader cl)
    • getAnnotation

      public static <T extends Annotation> T getAnnotation(Class<?> clazz, Class<T> anclazz, ClassLoader cl)
    • getAnnotations

      public static <T extends Annotation> T[] getAnnotations(Class<?> clazz, Class<T> anclazz, ClassLoader cl)
    • getAnnotation

      public static <T extends Annotation> T getAnnotation(Field f, Class<T> anclazz, ClassLoader cl)
    • getAnnotation

      public static <T extends Annotation> T getAnnotation(Method m, Class<T> anclazz, ClassLoader cl)
    • getAnnotation

      public static <T extends Annotation> T getAnnotation(Constructor<?> c, Class<T> anclazz, ClassLoader cl)
    • getParameterAnnotations

      public static Annotation[][] getParameterAnnotations(Method m, ClassLoader cl)
    • getParameterAnnotations

      public static Annotation[][] getParameterAnnotations(Constructor c, ClassLoader cl)
    • getAnnotation

      public static <T extends Annotation> T getAnnotation(Class<?> clazz, Class<T> anclazz, ClassLoader cl1, ClassLoader cl2)
    • getClass

      public static Class<?> getClass(Class<?> clazz, ClassLoader cl)
    • getClassArray

      public static Class<?>[] getClassArray(Class<?>[] clazzes, ClassLoader cl)
    • getProxyAnnotation

      public static <T extends Annotation> T getProxyAnnotation(T an, ClassLoader cl)
      Gets proxy annotation that can be invoked by corresponding classloader.
      Returns:
      ret
    • isClassLoaderCompatible

      protected static boolean isClassLoaderCompatible(Class<?> clazz, ClassLoader cl)
    • findInjections

      public static void findInjections(Class<?> cma, ClassLoader cl, InjectionInfoHolder ii)
      Find injections:
      Parameters:
      cma -
      cl -
      ii -
      rsers -
    • guessName

      public static String guessName(String methodname)
    • createUnparsedExpressions

      public static jadex.common.UnparsedExpression[] createUnparsedExpressions(jadex.model.annotation.NameValue[] values)
      Create unparsed expressions.
    • createUnparsedExpressionsList

      public static List<jadex.common.UnparsedExpression> createUnparsedExpressionsList(jadex.model.annotation.NameValue[] values)
      Create unparsed expressions.
    • convertNameValue

      public static jadex.common.UnparsedExpression convertNameValue(jadex.model.annotation.NameValue nval)
      Convert a name value annotation to an unparsed expression.
      Parameters:
      nval - The name value annotation.
      Returns:
      The expression.