@Incubating public abstract class PropertyHandler extends java.lang.Object
| Modifier and Type | Field and Description | 
|---|---|
| static ClassNode | PROPERTY_OPTIONS_TYPE | 
| Constructor and Description | 
|---|
| PropertyHandler() | 
| Modifier and Type | Method and Description | 
|---|---|
| static PropertyHandler | createPropertyHandler(AbstractASTTransformation xform,
                     GroovyClassLoader loader,
                     ClassNode cNode) | 
| Statement | createPropGetter(PropertyNode pNode)Create the getter block used when reading the property including any defensive copying. | 
| abstract Statement | createPropInit(AbstractASTTransformation xform,
              AnnotationNode anno,
              ClassNode cNode,
              PropertyNode pNode,
              Parameter namedArgMap)Create a statement that will initialize the property including any defensive copying. | 
| Statement | createPropSetter(PropertyNode pNode)Create the setter block used when setting the property. | 
| protected boolean | isValidAttribute(AbstractASTTransformation xform,
                AnnotationNode anno,
                java.lang.String memberName) | 
| abstract boolean | validateAttributes(AbstractASTTransformation xform,
                  AnnotationNode anno) | 
| boolean | validateProperties(AbstractASTTransformation xform,
                  BlockStatement body,
                  ClassNode cNode,
                  java.util.List<PropertyNode> props) | 
public static final ClassNode PROPERTY_OPTIONS_TYPE
public abstract boolean validateAttributes(AbstractASTTransformation xform, AnnotationNode anno)
public boolean validateProperties(AbstractASTTransformation xform, BlockStatement body, ClassNode cNode, java.util.List<PropertyNode> props)
public abstract Statement createPropInit(AbstractASTTransformation xform, AnnotationNode anno, ClassNode cNode, PropertyNode pNode, Parameter namedArgMap)
xform - the transform being processedanno - the '@ImmutableBase' annotation nodecNode - the classnode containing the propertypNode - the property node to initializenamedArgMap - an "args" Map if the property value should come from a named arg map or null if notpublic Statement createPropGetter(PropertyNode pNode)
pNode - the property nodepublic Statement createPropSetter(PropertyNode pNode)
pNode - the property nodeprotected boolean isValidAttribute(AbstractASTTransformation xform, AnnotationNode anno, java.lang.String memberName)
public static PropertyHandler createPropertyHandler(AbstractASTTransformation xform, GroovyClassLoader loader, ClassNode cNode)