private Map getAnnotationsMap()

in cayenne/src/main/java/org/apache/cayenne/reflect/LifecycleCallbackRegistry.java [242:394]


	private Map<String, AnnotationReader> getAnnotationsMap() {
		if (annotationsMap == null) {

			Map<String, AnnotationReader> annotationsMap = new HashMap<>();
			annotationsMap.put(PostAdd.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.POST_ADD;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PostAdd) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PostAdd) a).value();
				}
			});

			annotationsMap.put(PrePersist.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.PRE_PERSIST;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PrePersist) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PrePersist) a).value();
				}
			});

			annotationsMap.put(PreRemove.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.PRE_REMOVE;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PreRemove) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PreRemove) a).value();
				}
			});

			annotationsMap.put(PreUpdate.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.PRE_UPDATE;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PreUpdate) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PreUpdate) a).value();
				}
			});

			annotationsMap.put(PostLoad.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.POST_LOAD;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PostLoad) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PostLoad) a).value();
				}
			});

			annotationsMap.put(PostPersist.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.POST_PERSIST;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PostPersist) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PostPersist) a).value();
				}
			});

			annotationsMap.put(PostUpdate.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.POST_UPDATE;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PostUpdate) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PostUpdate) a).value();
				}
			});

			annotationsMap.put(PostRemove.class.getName(), new AnnotationReader() {

				@Override
				LifecycleEvent eventType() {
					return LifecycleEvent.POST_REMOVE;
				}

				@Override
				Class<? extends Annotation>[] entityAnnotations(Annotation a) {
					return ((PostRemove) a).entityAnnotations();
				}

				@Override
				Class<?>[] entities(Annotation a) {
					return ((PostRemove) a).value();
				}
			});

			this.annotationsMap = annotationsMap;
		}

		return annotationsMap;
	}