org.codehaus.groovy.ast.expr

## Class PropertyExpression

- java.lang.Object
- - org.codehaus.groovy.ast.ASTNode
  - - org.codehaus.groovy.ast.AnnotatedNode
    - - org.codehaus.groovy.ast.expr.Expression
      - - org.codehaus.groovy.ast.expr.PropertyExpression

Direct Known Subclasses:
  AttributeExpression

    public class PropertyExpression
    extends Expression

Represents a property access such as the expression "foo.bar".

Author:
  James Strachan

### Constructor Summary

Constructors
Constructor and Description
`PropertyExpression(Expression objectExpression, Expression property)`
`PropertyExpression(Expression objectExpression, Expression property, boolean safe)`
`PropertyExpression(Expression objectExpression, java.lang.String property)`

### Method Summary

All Methods Instance Methods Concrete Methods
`Expression` `getObjectExpression()`
`Expression` `getProperty()`
`java.lang.String` `getPropertyAsString()`
`java.lang.String` `getText()`
`boolean` `isDynamic()`
`boolean` `isImplicitThis()`
`boolean` `isSafe()`
`boolean` `isSpreadSafe()`
`boolean` `isStatic()`
`void` `setImplicitThis(boolean it)`
`void` `setObjectExpression(Expression exp)`
`void` `setSpreadSafe(boolean value)`
`void` `setStatic(boolean aStatic)`
`java.lang.String` `toString()`
`Expression` `transformExpression(ExpressionTransformer transformer)` Return a copy of the expression calling the transformer on any nested expressions
`void` `visit(GroovyCodeVisitor visitor)`

### Methods inherited from class org.codehaus.groovy.ast.expr.Expression

`getType, setType, transformExpressions, transformExpressions`

### Methods inherited from class org.codehaus.groovy.ast.AnnotatedNode

`addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`

### Methods inherited from class org.codehaus.groovy.ast.ASTNode

`copyNodeMetaData, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getNodeMetaData, getNodeMetaData, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition`

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

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

### Constructor Detail

#### PropertyExpression

    public PropertyExpression(Expression objectExpression,
                              java.lang.String property)

#### PropertyExpression

    public PropertyExpression(Expression objectExpression,
                              Expression property)

#### PropertyExpression

    public PropertyExpression(Expression objectExpression,
                              Expression property,
                              boolean safe)

### Method Detail

#### isStatic

    public boolean isStatic()

#### visit

    public void visit(GroovyCodeVisitor visitor)

Overrides:
  `visit` in class `ASTNode`

#### isDynamic

    public boolean isDynamic()

#### transformExpression

    public Expression transformExpression(ExpressionTransformer transformer)

Description copied from class: `Expression`
Return a copy of the expression calling the transformer on any nested expressions

Specified by:
  `transformExpression` in class `Expression`

#### getObjectExpression

    public Expression getObjectExpression()

#### setObjectExpression

    public void setObjectExpression(Expression exp)

#### getProperty

    public Expression getProperty()

#### getPropertyAsString

    public java.lang.String getPropertyAsString()

#### getText

    public java.lang.String getText()

Overrides:
  `getText` in class `ASTNode`

#### isSafe

    public boolean isSafe()

Returns:
  is this a safe navigation, i.e. if true then if the source object is null then this navigation will return null

#### isSpreadSafe

    public boolean isSpreadSafe()

#### setSpreadSafe

    public void setSpreadSafe(boolean value)

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### setStatic

    public void setStatic(boolean aStatic)

#### isImplicitThis

    public boolean isImplicitThis()

#### setImplicitThis

    public void setImplicitThis(boolean it)