Interface Processor


public interface Processor
Author:
TomForwood Class defining a processor that runs on a RosettaModelObject instances of this class are designed to be used with the RosettaModelObject process method to perform visitor pattern processing on the object tree. They can return an accumulated result in the report object
  • Field Details

  • Method Details

    • processRosetta

      <R extends RosettaModelObject> boolean processRosetta(RosettaPath path, Class<? extends R> rosettaType, R instance, RosettaModelObject parent, AttributeMeta... metas)
      Process a rosetta object
      Parameters:
      path - the RosettaPath taken to the object
      rosettaType - the Type of the object
      instance - a RosettaModelObject representing the object
      parent - the RosettaModelObject which contains this object as an attribute
      metas - Flags indicating meta information about the attribute
      Returns:
    • processRosetta

      <R extends RosettaModelObject> boolean processRosetta(RosettaPath path, Class<? extends R> rosettaType, List<? extends R> instance, RosettaModelObject parent, AttributeMeta... metas)
    • processBasic

      <T> void processBasic(RosettaPath path, Class<? extends T> rosettaType, T instance, RosettaModelObject parent, AttributeMeta... metas)
      process a rosetta primitive type
      Parameters:
      path - the RosettaPath taken to the objects
      rosettaType - the Type of the objects
      instance - the primitive value to be processed
      parent - the RosettaModelObject which contains these object as an attribute
      metas - Flags indicating meta information about the attribute
    • processBasic

      <T> void processBasic(RosettaPath path, Class<? extends T> rosettaType, Collection<? extends T> instance, RosettaModelObject parent, AttributeMeta... metas)
    • report

      Returns:
      a report representing the result of this processor