Package groovy.transform.options
Class ImmutablePropertyHandler
- java.lang.Object
 - 
- groovy.transform.options.PropertyHandler
 - 
- groovy.transform.options.ImmutablePropertyHandler
 
 
 
- 
- Direct Known Subclasses:
 LegacyHashMapPropertyHandler
public class ImmutablePropertyHandler extends PropertyHandler
 
- 
- 
Field Summary
- 
Fields inherited from class groovy.transform.options.PropertyHandler
PROPERTY_OPTIONS_TYPE 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ImmutablePropertyHandler() 
- 
Method Summary
- 
Methods inherited from class groovy.transform.options.PropertyHandler
createPropertyHandler, isValidAttribute 
 - 
 
 - 
 
- 
- 
Method Detail
- 
createPropGetter
public Statement createPropGetter(PropertyNode pNode)
Description copied from class:PropertyHandlerCreate the getter block used when reading the property including any defensive copying.- Overrides:
 createPropGetterin classPropertyHandler- Parameters:
 pNode- the property node
 
- 
createPropSetter
public Statement createPropSetter(PropertyNode pNode)
Description copied from class:PropertyHandlerCreate the setter block used when setting the property. Can be null for read-only properties.- Overrides:
 createPropSetterin classPropertyHandler- Parameters:
 pNode- the property node
 
- 
validateAttributes
public boolean validateAttributes(AbstractASTTransformation xform, AnnotationNode anno)
- Specified by:
 validateAttributesin classPropertyHandler
 
- 
validateProperties
public boolean validateProperties(AbstractASTTransformation xform, BlockStatement body, ClassNode cNode, java.util.List<PropertyNode> props)
- Overrides:
 validatePropertiesin classPropertyHandler
 
- 
createPropInit
public Statement createPropInit(AbstractASTTransformation xform, AnnotationNode anno, ClassNode cNode, PropertyNode pNode, Parameter namedArgsMap)
Description copied from class:PropertyHandlerCreate a statement that will initialize the property including any defensive copying. Null if no statement should be added.- Specified by:
 createPropInitin classPropertyHandler- Parameters:
 xform- the transform being processedanno- the '@ImmutableBase' annotation nodecNode- the classnode containing the propertypNode- the property node to initializenamedArgsMap- an "args" Map if the property value should come from a named arg map or null if not
 
- 
cloneCollectionExpr
protected Expression cloneCollectionExpr(Expression fieldExpr, ClassNode type)
 
- 
createAsImmutableX
protected Expression createAsImmutableX(Expression expr, ClassNode type)
 
- 
createConstructorStatement
@Deprecated protected Statement createConstructorStatement(AbstractASTTransformation xform, ClassNode cNode, PropertyNode pNode, boolean namedArgs)
Deprecated. 
- 
createConstructorStatement
protected Statement createConstructorStatement(AbstractASTTransformation xform, ClassNode cNode, PropertyNode pNode, Parameter namedArgsMap)
 
 - 
 
 -