Package groovy.lang

Class MetaProperty

java.lang.Object
groovy.lang.MetaProperty
Direct Known Subclasses:
CachedField, MetaArrayLengthProperty, MetaBeanProperty, MetaExpandoProperty, MethodMetaProperty, MultipleSetterProperty

public abstract class MetaProperty
extends Object
Represents a property on a bean which may have a getter and/or a setter
  • Field Details

  • Constructor Details

    • MetaProperty

      public MetaProperty​(String name, Class type)
      Constructor that sets the property name and type (class)
  • Method Details

    • getProperty

      public abstract Object getProperty​(Object object)
      Returns:
      the property of the given object
      Throws:
      Exception - if the property could not be evaluated
    • setProperty

      public abstract void setProperty​(Object object, Object newValue)
      Sets the property on the given object to the new value
      Parameters:
      object - on which to set the property
      newValue - the new value of the property
      Throws:
      RuntimeException - if the property could not be set
    • getName

      public String getName()
      Return the name of the property
      Returns:
      the name of the property
    • getType

      public Class getType()
      Returns:
      the type of the property
    • getModifiers

      public int getModifiers()
      Returns the access modifier.
      Returns:
      Modifier.PUBLIC
    • getGetterName

      public static String getGetterName​(String propertyName, Class type)
      Gets the name for the getter for this property
      Returns:
      The name of the property. The name is "get"+ the capitalized propertyName or, in the case of boolean values, "is" + the capitalized propertyName
    • getSetterName

      public static String getSetterName​(String propertyName)
      Gets the setter for the getter for this property.
      Returns:
      The name of the property. The name is "set"+ the capitalized propertyName.