Package org.codehaus.groovy.ast

# Class Parameter

java.lang.Object
org.codehaus.groovy.ast.ASTNode
org.codehaus.groovy.ast.AnnotatedNode
org.codehaus.groovy.ast.Parameter

All Implemented Interfaces:
  `Variable`

public class Parameter extends AnnotatedNode implements Variable
Represents a parameter on a constructor or method call. The type name is optional - it defaults to java.lang.Object if unknown.

Author:
  James Strachan

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Parameter[]`
`EMPTY_ARRAY`

## Constructor Summary

Constructors
Constructor
Description
`Parameter(ClassNode type, String name)`
`Parameter(ClassNode type, String name, Expression defaultValue)`

## Method Summary

Modifier and Type
Method
Description
`Expression`
`getInitialExpression()`
expression used to initialize the variable or null of there is no initialization.
`int`
`getModifiers()`
`String`
`getName()`
the name of the variable
`ClassNode`
`getOriginType()`
the type before wrapping primitives type of the variable
`ClassNode`
`getType()`
the type of the variable
`boolean`
`hasInitialExpression()`
returns true if there is an initialization expression
`boolean`
`isClosureSharedVariable()`
`boolean`
`isDynamicTyped()`
`boolean`
`isInStaticContext()`
returns true if this variable is used in a static context.
`void`
`setClosureSharedVariable(boolean inClosure)`
`void`
`setInitialExpression(Expression init)`
`void`
`setInStaticContext(boolean inStaticContext)`
`void`
`setModifiers(int modifiers)`
`void`
`setOriginType(ClassNode cn)`
`void`
`setType(ClassNode type)`
`String`
`toString()`

### 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, getText, putNodeMetaData, removeNodeMetaData, setColumnNumber, setLastColumnNumber, setLastLineNumber, setLineNumber, setNodeMetaData, setSourcePosition, visit`

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

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

## Field Details

### EMPTY_ARRAY

public static final Parameter[] EMPTY_ARRAY

## Constructor Details

### Parameter

public Parameter(ClassNode type, String name)

### Parameter

public Parameter(ClassNode type, String name, Expression defaultValue)

## Method Details

### toString

public String toString()

Overrides:
  `toString` in class `Object`

### getName

public String getName()
Description copied from interface: `Variable`
the name of the variable

Specified by:
  `getName` in interface `Variable`

### getType

public ClassNode getType()
Description copied from interface: `Variable`
the type of the variable

Specified by:
  `getType` in interface `Variable`

### setType

public void setType(ClassNode type)

### hasInitialExpression

public boolean hasInitialExpression()
Description copied from interface: `Variable`
returns true if there is an initialization expression

Specified by:
  `hasInitialExpression` in interface `Variable`

### getInitialExpression

public Expression getInitialExpression()
Description copied from interface: `Variable`
expression used to initialize the variable or null of there is no initialization.

Specified by:
  `getInitialExpression` in interface `Variable`
Returns:
  the default value expression for this parameter or null if no default value is specified

### setInitialExpression

public void setInitialExpression(Expression init)

### isInStaticContext

public boolean isInStaticContext()
Description copied from interface: `Variable`
returns true if this variable is used in a static context. A static context is any static initializer block, when this variable is declared as static or when this variable is used in a static method

Specified by:
  `isInStaticContext` in interface `Variable`

### setInStaticContext

public void setInStaticContext(boolean inStaticContext)

### isDynamicTyped

public boolean isDynamicTyped()

Specified by:
  `isDynamicTyped` in interface `Variable`

### isClosureSharedVariable

public boolean isClosureSharedVariable()

Specified by:
  `isClosureSharedVariable` in interface `Variable`

### setClosureSharedVariable

public void setClosureSharedVariable(boolean inClosure)

Specified by:
  `setClosureSharedVariable` in interface `Variable`

### getModifiers

public int getModifiers()

Specified by:
  `getModifiers` in interface `Variable`

### getOriginType

public ClassNode getOriginType()
Description copied from interface: `Variable`
the type before wrapping primitives type of the variable

Specified by:
  `getOriginType` in interface `Variable`

### setOriginType

public void setOriginType(ClassNode cn)

### setModifiers

public void setModifiers(int modifiers)