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

Author:
  James Strachan

## Field Summary

Fields
Modifier and Type
Field
Description
`protected final String`
`name`
`static final String`
`PROPERTY_SET_PREFIX`
`protected Class`
`type`

## Constructor Summary

Constructors
Constructor
Description
`MetaProperty(String name, Class type)`
Constructor that sets the property name and type (class)

## Method Summary

Modifier and Type
Method
Description
`static String`
`getGetterName(String propertyName, Class type)`
Gets the name for the getter for this property
`int`
`getModifiers()`
Returns the access modifier.
`String`
`getName()`
Return the name of the property
`abstract Object`
`getProperty(Object object)`
`static String`
`getSetterName(String propertyName)`
Gets the setter for the getter for this property.
`Class`
`getType()`
`abstract void`
`setProperty(Object object, Object newValue)`
Sets the property on the given object to the new value

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### name

protected final String name

### type

protected Class type

### PROPERTY_SET_PREFIX

public static final String PROPERTY_SET_PREFIX

See Also:
  - Constant Field Values

## 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.