Package ball.annotation.processing
Class ObjectCloneProcessor
- java.lang.Object
-
- ball.annotation.processing.JavaxLangModelUtilities
-
- ball.annotation.processing.AbstractProcessor
-
- ball.annotation.processing.AnnotatedNoAnnotationProcessor
-
- ball.annotation.processing.ObjectCloneProcessor
-
- All Implemented Interfaces:
JavaLangReflectMethods
,Processor
@ServiceProviderFor(javax.annotation.processing.Processor.class) @ForElementKinds(METHOD) public class ObjectCloneProcessor extends AnnotatedNoAnnotationProcessor
Processor
implementation to checkObject.clone()
implementations to verify:-
The implementing
Class
also implementsCloneable
-
The implementation throws
CloneNotSupportedException
(unless some "intravening" superclass' implementation does not) - The implementation returns a subtype of the implementation type
- Author:
- Allen D. Ball
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ball.annotation.processing.AbstractProcessor
AbstractProcessor.Check<T extends Element>, AbstractProcessor.Criterion<T extends Element>
-
-
Field Summary
-
Fields inherited from class ball.annotation.processing.AnnotatedNoAnnotationProcessor
checks, criteria
-
Fields inherited from class ball.annotation.processing.AbstractProcessor
filer, javac
-
Fields inherited from class ball.annotation.processing.JavaxLangModelUtilities
elements, fm, types
-
-
Constructor Summary
Constructors Constructor Description ObjectCloneProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
init(ProcessingEnvironment processingEnv)
protected void
process(RoundEnvironment roundEnv, Element element)
Method to process eachElement
.-
Methods inherited from class ball.annotation.processing.AnnotatedNoAnnotationProcessor
getForElementKinds, getForSubclassesOf, getMustImplement, getSupportedAnnotationTypes, getWithModifiers, getWithoutModifiers, process
-
Methods inherited from class ball.annotation.processing.AbstractProcessor
getCompletions, getSupportedOptions, getSupportedSourceVersion, print, print, print, print, print, whenAnnotationProcessingFinished
-
Methods inherited from class ball.annotation.processing.JavaxLangModelUtilities
asClass, asExecutableElement, asExecutableElement, asPackageInfoClass, asTypeElement, asTypeMirror, asTypeMirrorList, asVariableElement, getAnnotationMirror, getAnnotationMirror, getAnnotationValue, getClassLoader, getClassPathClassLoader, getClassPathClassLoader, getConstructor, getEnclosingTypeElement, getMethod, getPropertyName, getPropertyNames, getTypeElementFor, hasSameSignatureAs, hasSameSignatureAs, hasSameSignatureAs, implementationOf, isAssignableTo, isAssignableTo, isAssignableTo, isAssignableTo, isEmptyArray, isGenerated, isGetterMethod, named, overrides, overrides, signature, signature, specifiedBy, toEnumSet, toModifiers, with, withModifiers, withModifiers, without, withoutModifiers, withoutModifiers, withParameters, withParameters
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface ball.lang.reflect.JavaLangReflectMethods
asModifierSet, declaration, declaration, declaration, declaration, declaration, declaration, declaration, declaration, exceptions, getModifiers, getModifiers, modifiers, parameters, type, type
-
-
-
-
Constructor Detail
-
ObjectCloneProcessor
public ObjectCloneProcessor()
-
-
Method Detail
-
init
public void init(ProcessingEnvironment processingEnv)
- Specified by:
init
in interfaceProcessor
- Overrides:
init
in classAnnotatedNoAnnotationProcessor
-
process
protected void process(RoundEnvironment roundEnv, Element element)
Description copied from class:AnnotatedNoAnnotationProcessor
Method to process eachElement
. Default implementation does nothing.- Overrides:
process
in classAnnotatedNoAnnotationProcessor
- Parameters:
roundEnv
- TheRoundEnvironment
.element
- TheElement
.
-
-