Package: org.codehaus.groovy.ast.expr

## [Java] Class PropertyExpression

- org.codehaus.groovy.ast.expr.PropertyExpression

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

  Authors:
    James Strachan

- - ### Properties Summary

    Properties
    Type | Name and description
    --- | ---
    `boolean` | `implicitThis`
    `Expression` | `objectExpression`
    `boolean` | `spreadSafe`
    `boolean` | `static`

  - ### Constructor Summary

    Constructors
    Constructor and description
    `PropertyExpression (Expression objectExpression, String property)`
    `PropertyExpression (Expression objectExpression, Expression property)`
    `PropertyExpression (Expression objectExpression, Expression property, boolean safe)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `Expression` | `getObjectExpression()`
    `` | `Expression` | `getProperty()`
    `` | `String` | `getPropertyAsString()`
    `` | `String` | `getText()`
    `` | `boolean` | `isDynamic()`
    `` | `boolean` | `isImplicitThis()`
    `` | `boolean` | `isSafe()` @return is this a safe navigation, i.e. if true then if the source object is null then this navigation will return null
    `` | `boolean` | `isSpreadSafe()`
    `` | `boolean` | `isStatic()`
    `` | `void` | `setImplicitThis(boolean it)`
    `` | `void` | `setObjectExpression(Expression exp)`
    `` | `void` | `setSpreadSafe(boolean value)`
    `` | `void` | `setStatic(boolean aStatic)`
    `` | `String` | `toString()`
    `` | `Expression` | `transformExpression(ExpressionTransformer transformer)`
    `` | `void` | `visit(GroovyCodeVisitor visitor)`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Expression` | `getType, setType, transformExpression, transformExpressions, transformExpressions`
    `class AnnotatedNode` | `addAnnotation, addAnnotations, getAnnotations, getAnnotations, getDeclaringClass, hasNoRealSourcePosition, isSynthetic, setDeclaringClass, setHasNoRealSourcePosition, setSynthetic`
    `class ASTNode` | `copyNodeMetaData, equals, getColumnNumber, getLastColumnNumber, getLastLineNumber, getLineNumber, getMetaDataMap, getNodeMetaData, getNodeMetaData, getText, hashCode, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit`
    `class Object` | `wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll`

- - ### Property Detail

    - #### boolean implicitThis

    - #### Expression objectExpression

    - #### boolean spreadSafe

    - #### boolean static

  - ### Constructor Detail

    - #### public PropertyExpression(Expression objectExpression, String property)

    - #### public PropertyExpression(Expression objectExpression, Expression property)

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

  - ### Method Detail

    - #### public Expression getObjectExpression()

    - #### public Expression getProperty()

    - #### public String getPropertyAsString()

    - #### public String getText()

    - #### public boolean isDynamic()

    - #### public boolean isImplicitThis()

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

    - #### public boolean isSpreadSafe()

    - #### public boolean isStatic()

    - #### public void setImplicitThis(boolean it)

    - #### public void setObjectExpression(Expression exp)

    - #### public void setSpreadSafe(boolean value)

    - #### public void setStatic(boolean aStatic)

    - #### public String toString()

    - #### public Expression transformExpression(ExpressionTransformer transformer)

    - #### public void visit(GroovyCodeVisitor visitor)