Package com.iizigo.java.prop
Class EditorMethodReference2
- java.lang.Object
- com.iizix.prop.GProp<GProp<?>[]>
- com.iizix.prop.PropCnr
- com.iizix.prop.MethodReference2
- com.iizigo.java.prop.EditorMethodReference2
 
 
 
 
- All Implemented Interfaces:
- IClassReferenceListener,- EventListener,- IGProp<GProp<?>[]>,- IPropCnr,- java.lang.Cloneable
 - Direct Known Subclasses:
- EditorFieldActor
 - public abstract class EditorMethodReference2 extends MethodReference2 implements IClassReferenceListener The Designer version the Method Reference "2" property class hold the reference to a Method that is in a Java class.- Two variants are supported: - As for classic MethodReference:
 a Java class reference "ClassReference" is held by a parent container in the tree, and this method reference is a simple name without '.' and is the method in the class.
- a static method reference in a class, where this name is the fully qualified class name with the method name last.
 - Author:
- Christopher Mindus
 
- Field Summary- Fields - Modifier and Type - Field - Description - static java.lang.String- ERROR_IDThe ID of the property error.- Fields inherited from class com.iizix.prop.MethodReference2- requiredAnnotations, runtimeMethod
 - Fields inherited from class com.iizix.prop.PropCnr- EMPTY, EMPTY_CLASSES, EMPTY_CNRS, EXTENDS_FRAMEWORK_ERROR_ID
 - 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 - EditorMethodReference2()Creates a Method Reference property with no name and with a null value.- EditorMethodReference2(Atom propertyAtom)Creates a Method Reference property with the specified name with a null value.- EditorMethodReference2(Atom propertyAtom, java.lang.String newValue)Creates a Method Reference property with the specified name and value.
 - Method Summary- All Methods Instance Methods Abstract Methods Concrete Methods - Modifier and Type - Method - Description - EditorMethodReference2- clone()Creates a clone out of this property.- java.lang.String- getAnnotationBackReference()Gets the back-reference string.- PropCnr- getBackReferenceProperty()Gets the back-reference property.- java.lang.String- getDescription()Gets the description of the reference from the annotation.- 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).- java.lang.String- getRequiredClassAnnotation()Get the fully qualified annotation name that the Java Class should be annotated with.- java.lang.String- getRequiredInterface()Gets the fully qualified interface name that the Java Class should implement.- abstract java.lang.String- getRequiredNonStaticAnnotation()Get the fully qualified annotation name that the Java Class should be annotated with when non-static.- abstract java.lang.String- getRequiredStaticAnnotation()Get the fully qualified annotation name that the Java Class should be annotated with when static.- boolean- isAnnotationBackReferenceRequired()Checks if the Class Reference require an annotation back-reference.- boolean- isAnnotationMissing()Checks for missing annotation.- MethodLookup- lookup(GProp<?> propInProject)Checks the reference validity from the Designer.- void- onEventSelf(GEvent event)Event processing for Java Class Reference changed.- void- onJavaChangedSWT(JavaClass reference)Called when the source has changed and is recompiled on disk or in-memory reconcile.- void- onMethodRenamed(JavaClass reference, java.lang.String oldName, java.lang.String newName, java.lang.String signature)Called when a method has been renamed in the class.- protected void- onPropDispose()Called when a property is disposed of.- protected void- onReferenceEvent(ResolveReferencesEvent event)Called to perform reference resolving.- void- onRename(JavaClass reference, java.lang.String newName)Informs the listener that the fully qualified class name has been changed.- void- onResolve(JavaClass reference, boolean isClassFound, java.lang.String errorMessage)Notifies the Class Reference of resolve result.- MethodLookup- resolve()Resolves the reference.- Methods inherited from class com.iizix.prop.MethodReference2- equalsErrors, getMethodName, getRuntimeMethod, initializeElement, initializeProp, isStatic, lookupMethod, onPrepare, setMethodName, setMethodName
 - Methods inherited from class com.iizix.prop.PropCnr- __transferChildProps, addPredefinedProps, addProp, addProp, addProp2, addProp2, appendPropValue, canRequestFocus, completeVirtualize, containsProp, containsProp, convertLoadedProp, couldRequestFocusIfVirtualized, createCopyOfAtom, createUniqueAtom, createUniqueAtom, createUniqueAtom, createVSReference, doPropEqualsArrayValues, doVirtualizePropCnr, enablePropCommunication, enablePropHashMap, equalsTree, equalsTree, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getAllProps, getBool, getBool, getBool, getBool, getChildPropError, getChildPropError, getChildPropErrorSeverity, getChildPropErrorSeverity, getErrorsProp, getExtendsContainer, getExtendsError, getExtendsName, getExtendsOverride, getExtendsPossibleClasses, getFirstProp, getFirstProp, getFocusEngine, getInt, getInt, getInt, getInt, getLong, getLong, getLong, getLong, getNumber, getNumber, getNumber, getNumber, getPossibleChildren, getPredefinedProps, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getProp, getPropBaseReference, getPropCnr, getPropCount, getPropCount, getPropIndex, getPropIndex, getPropIndexes, getProps, getProps, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue, getPropValue0, getReferences, getRetargetedVerifyContainer, getString, getString, getString, getString, getValueClasses, getVSReference, hasFocus, hasSendData, initializeExtendsFramework, initializeValue, initPropCnr, insertProp, insertProp2, isChild, isExtendsOverriden, isExtendsPropertyValid, isExtendsRoot, isPropAddRemoveAllowed, isPropCommunicating, isPropExtended, isSibling, list, list, logPropNotFound, maybeAddProp, onInsertProp, onPropRemoved, onPropTreeInitialized, paramString, prepare, removeAllProps, removeAllProps2, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, removeProp2, reorderProps, replaceProps, requestFocus, requestFocus, requestFocusEx, requestFocusEx, resolveReferences, resolveRuntimeReferences, setBool, setBool, setBool, setBool, setCreateRequiredProp, setExtendsName, setExtendsOverride, setInt, setInt, setInt, setLong, setLong, setLong, setLong, setNumber, setNumber, setNumber, setNumber, setProp, setProp, setProp, setProp2, setProp2, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setPropValue, setString, setString, setString, setString, shouldCreateProps, shouldSerializeToXML, toElementString, toNativeValue0, usePropHashMap, usesPropIndex, validateChildPropInValue, validateClassInstances, validatePropType, validatePropValue, verify, verifyInternalUseOnly, verifyTree, virtualize
 - Methods inherited from class com.iizix.prop.GProp- addPropError, addPropListener, convertPropError, dispose, equals, equals, equalsObj, equalsPropValue, 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, getPropError, getPropError, getPropErroredName, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromPath, getPropFromReference, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropReferenceTarget, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getPropValueObject, getReferencePropName, getRelativePropName, getRootFromName, getRootName, getRootParent, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropForEditor, isPropNullable, isPropPrivate, isPropPrivateAtCreation, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropUSER, isPropValueTreeLockNeeded, isPropVirtualized, isPropVirtualizing, isPropVolatile, isPropVolatileOrEditorOnly, isProxied, list, list, list, mapAliasToReference, mapAliasToReference, mapReferenceToAlias, mapReferenceToAlias, mapReferenceToProjectRelative, modifyPropValue, moveProp, moveProp, moveProp, onEvent, onPropInvalidateCache, onPropParentChanged, onPropValueSet, onRemoteEvent, onVirtualizationCompleted, onVirtualized, paramValue, post, post, removePropError, removePropListener, removePropUSER, renameProp, renameProp2, resetChangedTree, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPrivateCreateRequiredProp, setPropError, setPropErroredName, setPropExtended, setPropExtendsFinal, setPropExtendsPrivate, setPropForEditor, setPropNullable, setPropPrivate, setPropReadOnly, setPropUSER, setPropValue, setPropValue, setPropValue, setPropValueIncognito, setPropVolatile, severe, severe, severe, shouldSerializeToXML, throwIfReadOnly, toNativeValue, toString, toString, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
 - Methods inherited from class java.lang.Object- getClass, hashCode, notify, notifyAll, wait, wait, wait
 - Methods inherited from interface com.iizix.prop.IGProp- addPropError, addPropListener, dispose, equals, fine, fine, finer, finer, finest, finest, fromElementString, getAppSessionGyro, getAtomPath, getClientSessionGyro, getConstraints, getEnvironment, getErroredPropItems, getErroredProps, getErrorsProp, getExtendsRootContainer, getFullPropName, getFullPropNameDebug, getModuleFolder, getModuleFolder, getParent, getParent, getPropAtom, getPropError, getPropError, getPropErrorSeverity, getPropExtendsFlags, getPropFromPath, getPropFromReference, getPropIndex, getPropName, getPropPath, getPropPath, getPropRootPropMgr, getPropTreeErrorSeverity, getPropValue, getPropValue, getReferencePropName, getRelativePropName, getRootParent, getTreeLock, hasChanged, hasPrivateChangeEventProp, hasPropError, hasPropTreeError, info, info, initializeGElement, initializeGProp, isDisposed, isPropChildOf, isPropClientCreated, isPropCreateRequired, isPropExtended, isPropExtendsFinal, isPropExtendsPrivate, isPropExtendsPrivateInRoot, isPropExtendsPrivateInRoot, isPropFile, isPropFolder, isPropNullable, isPropPrivate, isPropReadOnly, isPropReferenceTreeValid, isPropRoot, isPropVirtualized, list, list, list, mapAliasToReference, mapReferenceToAlias, mapReferenceToProjectRelative, moveProp, moveProp, moveProp, onEvent, onRemoteEvent, removePropError, removePropListener, renameProp, setChanged, setConstraints, setConstraints, setParent, setPrivateChangeEventProp, setPropError, setPropExtendsFinal, setPropExtendsPrivate, setPropNullable, setPropPrivate, setPropReadOnly, setPropValue, setPropValue, severe, severe, severe, toNativeValue, triggerRemoteEvent, triggerRemoteEvent, validateProp, verifyHasPropertyItem, warning, warning, warning
 - Methods inherited from interface com.iizix.prop.IPropCnr- canRequestFocus, canRequestFocus, couldRequestFocusIfVirtualized, couldRequestFocusIfVirtualized
 
 
- 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- EditorMethodReference2- public EditorMethodReference2() Creates a Method Reference property with no name and with a null value.
 - EditorMethodReference2- public EditorMethodReference2(Atom propertyAtom) Creates a Method Reference property with the specified name with a null value.- Parameters:
- propertyAtom- the property atom.
 
 - EditorMethodReference2- public EditorMethodReference2(Atom propertyAtom, java.lang.String newValue) Creates a Method Reference property with the specified name and value.- Parameters:
- propertyAtom- the property atom.
- newValue- the new string value for the property.
 
 
 - Method Detail- clone- public EditorMethodReference2 clone() Creates a clone out of this property. The cloning is overridden by the super classes in order to handle cloning of its class variables appropriately.- Cloning is used for "virtualization" of a property tree in the server. Client property classes will therefore throw - CloneNotSupportedException.- Once a tree has been cloned, the change-flag is reset, and the create-flag is set. All listeners are also removed! The new cloned property is an orphan, i.e. has no parent set. - Note that the cloning process is done WITHOUT thread synchronization for performance reasons, thus no modifications should be done to the tree! 
 - getRequiredNonStaticAnnotation- public abstract java.lang.String getRequiredNonStaticAnnotation() Get the fully qualified annotation name that the Java Class should be annotated with when non-static.- Returns:
- Gets the required annotation name, null for none.
 
 - getRequiredStaticAnnotation- public abstract java.lang.String getRequiredStaticAnnotation() Get the fully qualified annotation name that the Java Class should be annotated with when static.- Returns:
- Gets the required annotation name, null for none.
 
 - getRequiredInterface- public java.lang.String getRequiredInterface() Gets the fully qualified interface name that the Java Class should implement.- Specified by:
- getRequiredInterfacein interface- IClassReferenceListener
- Returns:
- Gets the required interface name, null for none.
 
 - getRequiredClassAnnotation- public java.lang.String getRequiredClassAnnotation() Get the fully qualified annotation name that the Java Class should be annotated with.- Specified by:
- getRequiredClassAnnotationin interface- IClassReferenceListener
- Returns:
- Gets the required annotation name, null for none.
 
 - isAnnotationBackReferenceRequired- public boolean isAnnotationBackReferenceRequired() Checks if the Class Reference require an annotation back-reference.- Specified by:
- isAnnotationBackReferenceRequiredin interface- IClassReferenceListener
- Returns:
- true if the annotation is required to have a back-reference on the "ref" member value pair to the Class Reference owner.
 
 - getAnnotationBackReference- public java.lang.String getAnnotationBackReference() Gets the back-reference string.- Specified by:
- getAnnotationBackReferencein interface- IClassReferenceListener
 
 - getBackReferenceProperty- public PropCnr getBackReferenceProperty() Gets the back-reference property.- Specified by:
- getBackReferencePropertyin interface- IClassReferenceListener
 
 - onEventSelf- public void onEventSelf(GEvent event) Event processing for Java Class Reference changed.- Specified by:
- onEventSelfin interface- IGProp<GProp<?>[]>
- Overrides:
- onEventSelfin class- GProp<GProp<?>[]>
- 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 call- super.onReferenceEvent(ResolveReferenceEvent event).- Overrides:
- onReferenceEventin class- PropCnr
- Parameters:
- event- The resolve references event.
 
 - lookup- public MethodLookup lookup(GProp<?> propInProject) Checks the reference validity from the Designer.
 - onPropDispose- protected void onPropDispose() Called when a property is disposed of.- Overrides:
- onPropDisposein class- PropCnr
 
 - onResolve- public void onResolve(JavaClass reference, boolean isClassFound, java.lang.String errorMessage) Notifies the Class Reference of resolve result.- Specified by:
- onResolvein interface- IClassReferenceListener
- Parameters:
- reference- The Class Reference.
- isClassFound- Flag indicating class is found, but interface is not implemented (when true) or annotation is missing.
- errorMessage- The error message, or null to clear the error.
 
 - 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.
 
 - getDescription- public java.lang.String getDescription() Gets the description of the reference from the annotation.- Returns:
- The description from the annotation, or an error message if not resolved.
 
 - onJavaChangedSWT- public void onJavaChangedSWT(JavaClass reference) Called when the source has changed and is recompiled on disk or in-memory reconcile. This method is called in the SWT thread only (in the Designer).- Specified by:
- onJavaChangedSWTin interface- IClassReferenceListener
 
 - onRename- public void onRename(JavaClass reference, java.lang.String newName) Informs the listener that the fully qualified class name has been changed. This includes the class package as well as the name.- Specified by:
- onRenamein interface- IClassReferenceListener
- Parameters:
- reference- The Class Reference.
- newName- The new fully qualified class name.
 
 - onMethodRenamed- public void onMethodRenamed(JavaClass reference, java.lang.String oldName, java.lang.String newName, java.lang.String signature) Called when a method has been renamed in the class.- Specified by:
- onMethodRenamedin interface- IClassReferenceListener
- Parameters:
- reference- The Class Reference.
- oldName- Old name.
- newName- New name.
- signature- Signature of method as retrieved by JavaHelper.getSimpleSignature class in Designer.