# com.bea.ide.lang.control.element
ControlClass Class

public class ControlClass
extends `JavaClass`

Hierarchy
  `Object`
  `DefaultElement`
  `DefaultTreeElement`
  `DefaultDocumentElement`
  `DefaultSourceElement`
  `JavaElement`
  `JavaModifierSupport`
  `JavaMember`
  `JavaClass`
  `ControlClass`

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

## Nested Class Summary

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

## Field Summary

Fields from com.bea.ide.lang.java.element`.`JavaClass``
``PROP_INTERTYPES`, `PROP_ISINTERFACE`, `PROP_SUPERTYPE``

Fields from com.bea.ide.lang.java.element`.`JavaMember``
``PROP_THROWS``

Fields from com.bea.ide.lang.java.element`.`JavaModifierSupport``
``PROP_ABSTRACT`, `PROP_ACCESS`, `PROP_FINAL`, `PROP_NATIVE`, `PROP_STATIC`, `PROP_STRICTFP`, `PROP_SYNCHRONIZED`, `PROP_TRANSIENT`, `PROP_TYPE`, `PROP_VOLATILE``

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

ControlClass(`Object` compilerCookie) Create a ControlClass.

## Method Summary

`public boolean` | `isCallbackInterface`() Determine if this is a callback interface.
`public boolean` | `isMainClass`() Determine if this is the main class in the file.
`public static boolean` | `isMainClass`(`JavaClass` clazz) Determine if the given class is the main class in it's unit.

Methods from `com.bea.ide.lang.java.element.`JavaClass``
``getClass`, `getDefaultPropertyDescriptors`, `getIsInterface`, `getMethod`, `getMethod`, `getProperty`, `getRangePrefetchProperties`, `getSuperInterfaces`, `getSuperType`, `getTypeCode`, `getVariable`, `isAuthorProperty`, `setIsInterface`, `setSuperInterfaces`, `setSuperType`, `toString`, `visit``

Methods from `com.bea.ide.lang.java.element.`JavaMember``
``getAccess`, `getDefaultPropertyDescriptors`, `getName`, `setAccess`, `setName`, `toString``

Methods from `com.bea.ide.lang.java.element.`JavaModifierSupport``
``getAbstract`, `getDefaultPropertyDescriptors`, `getFinal`, `getNative`, `getStatic`, `getStrictFloatingPoint`, `getSynchronized`, `getTransient`, `getVolatile`, `mergePropertyDescriptors`, `setAbstract`, `setFinal`, `setNative`, `setStatic`, `setStrictFloatingPoint`, `setSynchronized`, `setTransient`, `setVolatile``

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`, `getDefaultPropertyDescriptors`, `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``

## Constructor Detail

### ControlClass

    public ControlClass(Object compilerCookie)

  Create a ControlClass.

## Method Detail

### isCallbackInterface() Method

    public boolean isCallbackInterface()

Determine if this is a callback interface.

#### Returns

true if this is a callback interface, false otherwise.

### isMainClass() Method

    public boolean isMainClass()

Determine if this is the main class in the file.

#### Returns

true if this is the first class in the document.

### isMainClass(JavaClass) Method

    public static boolean isMainClass(JavaClass clazz)

Determine if the given class is the main class in it's unit.

#### Returns

true if this is the first class in the document.