Class SpecialFormsUtil

java.lang.Object
io.github.hglabplh_tech.reflect.clojure.api.utils.SpecialFormsUtil

public class SpecialFormsUtil extends Object
This s a utility class for the types enum, records and 'lambda'
  • Method Summary

    Modifier and Type
    Method
    Description
    static clojure.lang.IPersistentMap
    getEnumSpec(Class<?> theClass)
    This method analyzes the structure and attributes and constants of a enum and returns it as a map
    static clojure.lang.IPersistentMap
    This method analyzes a 'lambda' and returns the attributes and the specification !!!EXPERIMENTAL UP TO NOW!!!
    static clojure.lang.IPersistentMap
    getRecordSpec(Class<?> thePotentialRecordClass)
    This method analyzes the structure and attributes and constants of a record and returns it as a map

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • getEnumSpec

      public static clojure.lang.IPersistentMap getEnumSpec(Class<?> theClass)
      This method analyzes the structure and attributes and constants of a enum and returns it as a map
      Parameters:
      theClass - the class (it is checked to be an enum class)
      Returns:
      the enum specification
    • getRecordSpec

      public static clojure.lang.IPersistentMap getRecordSpec(Class<?> thePotentialRecordClass)
      This method analyzes the structure and attributes and constants of a record and returns it as a map
      Parameters:
      thePotentialRecordClass - the class of the record
      Returns:
      the record specification
    • getGeneralLambdaExprSpec

      public static clojure.lang.IPersistentMap getGeneralLambdaExprSpec(Class<?> theFunction)
      This method analyzes a 'lambda' and returns the attributes and the specification !!!EXPERIMENTAL UP TO NOW!!!
      Parameters:
      theFunction - the object (it is checked to be a 'lambda')
      Returns:
      the lambda expression specification