Class ClassModel

    • Constructor Detail

      • ClassModel

        public ClassModel​(Clazz clazz)
      • ClassModel

        public ClassModel​(java.lang.Class<?> clazz)
        Used for creating a ClassModel for any of the primitive classes.
        Parameters:
        clazz - one of the primitive classes. int.class,boolean.class, ...
        Throws:
        java.lang.IllegalArgumentException - iff a non-primitive Class object is passed.
    • Method Detail

      • getClazz

        public Clazz getClazz()
        Use this in case isPrimitive() is true. Otherwise, use getPrimitiveClass()
        Returns:
        the modeled Clazz.
        Throws:
        java.lang.IllegalArgumentException - if a primitive class is modeled.
      • getPrimitiveClass

        public java.lang.Class<?> getPrimitiveClass()
        Use this in case isPrimitive() is false. Otherwise, use getClazz().
        Returns:
        the modeled Class.
        Throws:
        java.lang.IllegalArgumentException - if a non-primitive class is modeled.
      • isPrimitive

        public boolean isPrimitive()
      • getModeledClassName

        @Nullable
        public @Nullable java.lang.String getModeledClassName()
        Returns:
        the name of the modeled class.
      • getType

        @NotNull
        public @NotNull java.lang.String getType()
        Description copied from interface: Model
        Returns the type of the modeled class.
        Specified by:
        getType in interface Model
      • init

        public MethodResult init​(MethodExecutionInfo methodExecutionInfo,
                                 ValueCalculator valueCalculator)
        Description copied from interface: Model
        Execute a constructor call for the modeled class.

        It is suggested to add logic to allow running this only on a dummy model without any state.

        Specified by:
        init in interface Model
        Specified by:
        init in interface ReflectiveModel<ClassModel>
        Parameters:
        methodExecutionInfo - execution info of the target method.
        valueCalculator - the value calculator that should be used to create any value in the result.
        Returns:
        the result of the method invocation. Since it's a constructor invocation the return value of the result is expected to be empty and the constructed value should be set as the updated instance.
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object