# com.bea.ide.lang.java.element
JavaModifierSupport Class

public abstract class JavaModifierSupport
extends `JavaElement`

JavaModifierSupport is an abstract derivation of DefaultSourceElement that defines a set of properties common to many java parse element types.

The properties available on an object of this type may be found by looking at the `getDefaultPropertyDescriptors``` method.

All java parse tree objects are instantiated as part of parse tree construction by the `JavaBuilder``` class.

Hierarchy
  `Object`
  `DefaultElement`
  `DefaultTreeElement`
  `DefaultDocumentElement`
  `DefaultSourceElement`
  `JavaElement`
  `JavaModifierSupport`

All Implemented Interfaces
  `IDocumentElement`, `IElement`, `ISourceElement`, `IStructureFeature.IStructureNode`, `ITreeElement`

Direct Known Subclasses
  `JavaArgument`, `JavaMember`

## Nested Class Summary

Nested classes from com.bea.ide.sourceeditor.element`.`DefaultSourceElement``
``DefaultSourceElement.CompilerPropertyDescriptor`, `DefaultSourceElement.DefaultAuthorElement`, `DefaultSourceElement.StaticCompilerPropertyDescriptor`, `DefaultSourceElement.StickyRange``

## Field Summary

`public static final `String`` | `PROP_ABSTRACT` Property key for the abstract property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_ACCESS` Property key for the access property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_FINAL` Property key for the final property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_NATIVE` Property key for the native property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_STATIC` Property key for the static property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_STRICTFP` Property key for the strict-floating-point property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_SYNCHRONIZED` Property key for the synchronized property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_TRANSIENT` Property key for the transient property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_TYPE` Property key for the type property of JavaModifierSupport derived objects.
`public static final `String`` | `PROP_VOLATILE` Property key for the volatile property of JavaModifierSupport derived objects.

Fields from com.bea.ide.sourceeditor.element`.`DefaultSourceElement``
``_range`, `PROP_NAME`, `PROP_VALUE``

Fields from com.bea.ide.element`.`DefaultTreeElement``
``_parent`, `_vChildren``

Fields from interface com.bea.ide.sourceeditor.element`.`ISourceElement``
``STATUS_IN_TREE`, `STATUS_NOT_IN_TREE`, `STATUS_REMOVED_FROM_TREE``

## Constructor Summary

JavaModifierSupport() Creates a new object containing a null cookie.
JavaModifierSupport(`Object` compilerCookie) Creates a new object containing the specified cookie.

## Method Summary

`public boolean` | `getAbstract`() Gets the `abstract` property of this object.
`public `DefaultSourceElement.CompilerPropertyDescriptor`[]` | `getDefaultPropertyDescriptors`() Objects of this type define the following properties: `JavaModifierSupport.PROP_STATIC```: whether this element is static.
`public boolean` | `getFinal`() Gets the `final` property of this object.
`public boolean` | `getNative`() Gets the `native` property of this object.
`public boolean` | `getStatic`() Gets the `static` property of this object.
`public boolean` | `getStrictFloatingPoint`() Gets the `strictFloatingPoint` property of this object.
`public boolean` | `getSynchronized`() Gets the `synchronized` property of this object.
`public boolean` | `getTransient`() Gets the `transient` property of this object.
`public boolean` | `getVolatile`() Gets the `volatile` property of this object.
`protected static `DefaultSourceElement.CompilerPropertyDescriptor`[]` | `mergePropertyDescriptors`(`DefaultSourceElement.CompilerPropertyDescriptor`[] set1, `DefaultSourceElement.CompilerPropertyDescriptor`[] set2) Creates a new CompilerPropertyDescriptor set containing the contents of the two sets provided.
`public void` | `setAbstract`(boolean newboolean) Sets the `abstract` property of this object.
`public void` | `setFinal`(boolean newboolean) Sets the `final` property of this object.
`public void` | `setNative`(boolean newboolean) Sets the `native` property of this object.
`public void` | `setStatic`(boolean newboolean) Sets the `static` property of this object.
`public void` | `setStrictFloatingPoint`(boolean newboolean) Sets the `strictFloatingPoint` property of this object.
`public void` | `setSynchronized`(boolean newboolean) Sets the `synchronized` property of this object.
`public void` | `setTransient`(boolean newboolean) Sets the `transient` property of this object.
`public void` | `setVolatile`(boolean newboolean) Sets the `volatile` property of this object.

Methods from `com.bea.ide.lang.java.element.`JavaElement``
``visit``

Methods from `com.bea.ide.sourceeditor.element.`DefaultSourceElement``
``addChild`, `createAuthorNode`, `debugDump`, `equals`, `getChildrenByClass`, `getClassLoader`, `getCookie`, `getDiagnostics`, `getGroup`, `getInstanceName`, `getProperty`, `getPropertyCode`, `getPropertyDescriptors`, `getPropertySourceRange`, `getPropertySourceRanges`, `getPropertySourceText`, `getPropertySourceText`, `getRange`, `getRange`, `getRangePrefetchProperties`, `getStatus`, `getTypeCode`, `initializeRange`, `initializeRange`, `insertChild`, `isAuthorProperty`, `markRemovedFromTree`, `mergeElements`, `mergeFrom`, `propertyModified`, `removeChild`, `removeChild`, `replaceChild`, `requestAddChild`, `requestAddChild`, `requestRemoveChild`, `requestSetProperty`, `setProperty`, `setStatus``

Methods from `com.bea.ide.document.`DefaultDocumentElement``
``addChild`, `getDocument`, `setDocument``

Methods from `com.bea.ide.element.`DefaultTreeElement``
``addChild`, `children`, `getChild`, `getChildCount`, `getParent`, `removeChild``

Methods from `com.bea.ide.element.`DefaultElement``
``getProperty`, `getPropertyDescriptors`, `setProperty``

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `com.bea.ide.document.`IDocumentElement``
``getDocument``

Methods from interface `com.bea.ide.element.`IElement``
``getProperty`, `getPropertyDescriptors`, `setProperty``

Methods from interface `com.bea.ide.sourceeditor.element.`ISourceElement``
``createAuthorNode`, `getCookie`, `getDiagnostics`, `getPropertyCode`, `getRange`, `getStatus`, `mergeFrom`, `requestAddChild`, `requestAddChild`, `requestRemoveChild`, `requestSetProperty``

Methods from interface `com.bea.compiler.feature.`IStructureFeature.IStructureNode``
`getCookie, getTypeCode`

Methods from interface `com.bea.ide.element.`ITreeElement``
``children`, `getChild`, `getChildCount`, `getParent``

## Field Detail

### PROP_ABSTRACT

    public static final String PROP_ABSTRACT

  Property key for the abstract property of JavaModifierSupport derived objects.

### PROP_ACCESS

    public static final String PROP_ACCESS

  Property key for the access property of JavaModifierSupport derived objects.

### PROP_FINAL

    public static final String PROP_FINAL

  Property key for the final property of JavaModifierSupport derived objects.

### PROP_NATIVE

    public static final String PROP_NATIVE

  Property key for the native property of JavaModifierSupport derived objects.

### PROP_STATIC

    public static final String PROP_STATIC

  Property key for the static property of JavaModifierSupport derived objects.

### PROP_STRICTFP

    public static final String PROP_STRICTFP

  Property key for the strict-floating-point property of JavaModifierSupport derived objects.

### PROP_SYNCHRONIZED

    public static final String PROP_SYNCHRONIZED

  Property key for the synchronized property of JavaModifierSupport derived objects.

### PROP_TRANSIENT

    public static final String PROP_TRANSIENT

  Property key for the transient property of JavaModifierSupport derived objects.

### PROP_TYPE

    public static final String PROP_TYPE

  Property key for the type property of JavaModifierSupport derived objects.

### PROP_VOLATILE

    public static final String PROP_VOLATILE

  Property key for the volatile property of JavaModifierSupport derived objects.

## Constructor Detail

### JavaModifierSupport

    public JavaModifierSupport()

  Creates a new object containing a null cookie. This constructor should be used by callers constructing objects that are not part of an active parse tree, such as those to be added via two-way edit.

### JavaModifierSupport

    public JavaModifierSupport(Object compilerCookie)

  Creates a new object containing the specified cookie. This constructor should only be called by `ILanguageBuilder``` implementations.

## Method Detail

### getAbstract() Method

    public boolean getAbstract()

Gets the `abstract` property of this object.

### getDefaultPropertyDescriptors() Method

    public DefaultSourceElement.CompilerPropertyDescriptor[] getDefaultPropertyDescriptors()

Objects of this type define the following properties:
`JavaModifierSupport.PROP_STATIC```: whether this element is static.
`JavaModifierSupport.PROP_ABSTRACT```: whether this element is abstract.
`JavaModifierSupport.PROP_FINAL```: whether this element is final.
`JavaModifierSupport.PROP_NATIVE```: whether this element is native.
`JavaModifierSupport.PROP_SYNCHRONIZED```: whether this element is synchronized.
`JavaModifierSupport.PROP_TRANSIENT```: whether this element is transient.
`JavaModifierSupport.PROP_VOLATILE```: whether this element is volatile.
`JavaModifierSupport.PROP_STRICTFP```: whether this element is defined as strictFloatingPoint.
`JavaModifierSupport.PROP_ACCESS```: access for this element.
`JavaModifierSupport.PROP_TYPE```: the type of this element.

Additionally, all DefaultSourceElement derivations also inherit all properties returned by `getDefaultPropertyDescriptors` from all super classes.

Overrides
  `DefaultSourceElement.getDefaultPropertyDescriptors()`

#### Returns

an array of CompilerPropertyDescriptor objects

### getFinal() Method

    public boolean getFinal()

Gets the `final` property of this object.

### getNative() Method

    public boolean getNative()

Gets the `native` property of this object.

### getStatic() Method

    public boolean getStatic()

Gets the `static` property of this object.

### getStrictFloatingPoint() Method

    public boolean getStrictFloatingPoint()

Gets the `strictFloatingPoint` property of this object.

### getSynchronized() Method

    public boolean getSynchronized()

Gets the `synchronized` property of this object.

### getTransient() Method

    public boolean getTransient()

Gets the `transient` property of this object.

### getVolatile() Method

    public boolean getVolatile()

Gets the `volatile` property of this object.

### mergePropertyDescriptors(DefaultSourceElement.CompilerPropertyDescriptor[], DefaultSourceElement.CompilerPropertyDescriptor[]) Method

    protected static DefaultSourceElement.CompilerPropertyDescriptor[] mergePropertyDescriptors(DefaultSourceElement.CompilerPropertyDescriptor[] set1,
                                                                                              DefaultSourceElement.CompilerPropertyDescriptor[] set2)

Creates a new CompilerPropertyDescriptor set containing the contents of the two sets provided.

#### Parameters

set1
  A set of CompilerPropertyDescriptor objects

set2
  A set of CompilerPropertyDescriptor objects

#### Returns

A set containing all elements from set1 and set2. Duplicates are NOT removed.

### setAbstract(boolean) Method

    public void setAbstract(boolean newboolean)

Sets the `abstract` property of this object.

### setFinal(boolean) Method

    public void setFinal(boolean newboolean)

Sets the `final` property of this object.

### setNative(boolean) Method

    public void setNative(boolean newboolean)

Sets the `native` property of this object.

### setStatic(boolean) Method

    public void setStatic(boolean newboolean)

Sets the `static` property of this object.

### setStrictFloatingPoint(boolean) Method

    public void setStrictFloatingPoint(boolean newboolean)

Sets the `strictFloatingPoint` property of this object.

### setSynchronized(boolean) Method

    public void setSynchronized(boolean newboolean)

Sets the `synchronized` property of this object.

### setTransient(boolean) Method

    public void setTransient(boolean newboolean)

Sets the `transient` property of this object.

### setVolatile(boolean) Method

    public void setVolatile(boolean newboolean)

Sets the `volatile` property of this object.