Package com.iizigo.java.prop
Class EditorMethodReference
- java.lang.Object
- com.iizix.prop.GProp<java.lang.String>
- com.iizix.prop.StringProp
- com.iizix.prop.MethodReference
- com.iizigo.java.prop.EditorMethodReference
- All Implemented Interfaces:
EventListener,IGProp<java.lang.String>,java.lang.Cloneable
public class EditorMethodReference extends MethodReference
The Designer version of the Method Reference property class hold the reference to a Method that is in a Java class. This Java class reference "ClassReference" is held by a parent container in the tree. It includes support for Java Refactoring in Eclipse as well as Reference Validation.- Author:
- Christopher Mindus
Field Summary
Fields Modifier and Type Field Description static java.lang.StringERROR_IDThe ID of the property error.Fields inherited from class com.iizix.prop.MethodReference
requiredAnnotation, runtimeMethod
Fields inherited from class com.iizix.prop.GProp
GPDEBUG, PROP_ATTR_STRING_EDITOR_PROP, PROP_ATTR_STRING_ERRORED_NAME, PROP_ATTR_STRING_EXTENDS, PROP_ATTR_STRING_EXTENDS_FINAL, PROP_ATTR_STRING_EXTENDS_PRIVATE, PROP_ATTR_STRING_NULLABLE, PROP_ATTR_STRING_PRIVATE, PROP_ATTR_STRING_PRIVATE_CHANGE_EVENT, PROP_ATTR_STRING_READ_ONLY, PROP_USER_1, PROP_USER_2
Fields inherited from interface com.iizix.prop.IGProp
EQC_ERROR_IGNORE_ALL, EQC_ERROR_IGNORE_REFERENCES, EQC_IGNORE_ARRAY, EQC_IGNORE_VOLATILE_OR_EDITOR, EQC_PRIVATE, EQC_SAVE_FILE, EXT_CONTAINER_EXTENDS, EXT_CONTAINER_EXTENDS_VALID, EXT_EXTENDED, EXT_FINAL, EXT_OVERRIDES, EXT_OVERRIDES_FINAL_ERR, EXT_PRIVATE
Constructor Summary
Constructors Constructor Description EditorMethodReference()Creates a Method Reference property with no name and with a null value.EditorMethodReference(Atom propertyAtom)Creates a Method Reference property with the specified name with a null value.EditorMethodReference(Atom propertyAtom, java.lang.String newValue)Creates a Class Reference property with the specified name and value.
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static EditorClassReferencegetClassReference(PropCnr methodReferenceParent)Gets the ClassReference property from a parent.static IClassReferenceOwnergetClassReferenceOwner(PropCnr methodReferenceParent)Gets the ClassReference parent that SHOULD or COULD hold the ClassReference for a MethodReference.static JavaClassgetJavaClass(PropCnr methodReferenceParent)Gets the JavaClass (IClassReference) from a parent.org.eclipse.jdt.core.IJavaElementgetJavaElement()Gets the Java element in resolve, could be a IType or IMethod (even the wrong IMethod due to missing annotation or compile error).java.lang.StringgetRequiredAnnotation()Get the fully qualified annotation name that the Java Class should be annotated with.booleanisAnnotationMissing()Checks for missing annotation.voidonEventSelf(GEvent event)Event processing for Java Class Reference changed.protected voidonPropDispose()Called when a property is disposed of.protected voidonReferenceEvent(ResolveReferencesEvent event)Called to perform reference resolving.MethodLookupresolve()Resolves the reference.voidsetRequiredAnnotation(java.lang.String requiredAnnotation)Assigns a fully qualified annotation name that the Java Class should be annotated with.Methods inherited from class com.iizix.prop.MethodReference
equalsErrors, getRuntimeMethod, initializeElement, initializeProp, isPropPrivateAtCreation, lookupMethod
Methods inherited from class com.iizix.prop.StringProp
appendPropValue, clone, getPropValue0, getString, getString, getValueClasses, initializeValue, setPropValue, toNativeValue0, validatePropType
Methods inherited from class com.iizix.prop.GProp
addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsObj, equalsPropValue, equalsTree, equalValues, extendsClone, finalize, fine, fine, finer, finer, finest, finest, fromElementString, getAliasName, getAppSessionGyro, getAppWorker, getAtomPath, getAttribute, getChildReferencePropName, getClientSessionGyro, getClientWorker, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropName, getFullPropNameDebug, getFullPropNameDebug, getListeners, getModuleFolder, getModuleFolder, getParent, getParent, getProjectName, getPropAtom, getPropBaseReference, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getReferences, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, getVSReference, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCommunicating, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPrepare, onPropInvalidateCache, onPropParentChanged, onPropTreeInitialized, onPropValueSet, onRemoteEvent, onVirtualizationCompleted, onVirtualized, paramString, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, resolveRuntimeReferences, setChanged, setConstraints, setConstraints, setCreateRequiredProp, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toElementString, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, validatePropValue, verify, verifyHasPropertyItem, virtualize, warning, warning, warning
Field Detail
ERROR_ID
public static final java.lang.String ERROR_ID
The ID of the property error.- See Also:
- Constant Field Values
Constructor Detail
EditorMethodReference
public EditorMethodReference()
Creates a Method Reference property with no name and with a null value.
EditorMethodReference
public EditorMethodReference(Atom propertyAtom)
Creates a Method Reference property with the specified name with a null value.- Parameters:
propertyAtom- the property atom.
EditorMethodReference
public EditorMethodReference(Atom propertyAtom, java.lang.String newValue)
Creates a Class Reference property with the specified name and value.- Parameters:
propertyAtom- the property atom.newValue- the new string value for the property.
Method Detail
setRequiredAnnotation
public void setRequiredAnnotation(java.lang.String requiredAnnotation)
Assigns a fully qualified annotation name that the Java Class should be annotated with.Setting the annotation name doesn't cause a property change.
- Parameters:
requiredAnnotation- The annotation required, or null for none.
getRequiredAnnotation
public java.lang.String getRequiredAnnotation()
Get the fully qualified annotation name that the Java Class should be annotated with.- Returns:
- Gets the required annotation name, null for none.
onEventSelf
public void onEventSelf(GEvent event)
Event processing for Java Class Reference changed.- Specified by:
onEventSelfin interfaceIGProp<java.lang.String>- Overrides:
onEventSelfin classGProp<java.lang.String>- Parameters:
event- The property event.
onReferenceEvent
protected void onReferenceEvent(ResolveReferencesEvent event)
Called to perform reference resolving. A property should override this method if it needs to perform reference resolving and validation.Subclasses override this method and only subclasses extending
PropCnrneeds to callsuper.onReferenceEvent(ResolveReferenceEvent event).- Overrides:
onReferenceEventin classGProp<java.lang.String>- Parameters:
event- The resolve references event.
getJavaClass
public static JavaClass getJavaClass(PropCnr methodReferenceParent)
Gets the JavaClass (IClassReference) from a parent.- Returns:
- null if not found.
getClassReferenceOwner
public static IClassReferenceOwner getClassReferenceOwner(PropCnr methodReferenceParent)
Gets the ClassReference parent that SHOULD or COULD hold the ClassReference for a MethodReference.- Returns:
- null if not found.
getClassReference
public static EditorClassReference getClassReference(PropCnr methodReferenceParent)
Gets the ClassReference property from a parent.- Returns:
- null if not found.
resolve
public MethodLookup resolve()
Resolves the reference.- Returns:
- The method Object (IMethod for Designer), or class/type instance (IType for Designer) if class is present but not the method, or a String for the error (can also be null e.g. for no method name). Do not use the return code in other places than the Designer.
getJavaElement
public org.eclipse.jdt.core.IJavaElement getJavaElement()
Gets the Java element in resolve, could be a IType or IMethod (even the wrong IMethod due to missing annotation or compile error). This should only be used e.g. in the Show in Java Editor function.
isAnnotationMissing
public boolean isAnnotationMissing()
Checks for missing annotation. This call should only be used in the Designer.- Returns:
- null For not missing or can't do anything, otherwise the JavaClass instance.
onPropDispose
protected void onPropDispose()
Called when a property is disposed of.- Overrides:
onPropDisposein classGProp<java.lang.String>