├── .gitignore ├── src ├── metadataValidator.png ├── test │ └── java │ │ ├── net │ │ └── sf │ │ │ └── esfinge │ │ │ ├── metadata │ │ │ ├── validate │ │ │ │ ├── maxValue │ │ │ │ │ └── package-info.java │ │ │ │ ├── minValue │ │ │ │ │ └── package-info.java │ │ │ │ ├── notNull │ │ │ │ │ └── package-info.java │ │ │ │ ├── unique │ │ │ │ │ └── package-info.java │ │ │ │ ├── prohibits │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── Init.java │ │ │ │ │ └── Finalize.java │ │ │ │ ├── purchase │ │ │ │ │ └── package-info.java │ │ │ │ ├── transaction │ │ │ │ │ └── package-info.java │ │ │ │ ├── needsToHave │ │ │ │ │ ├── CT11 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing11.java │ │ │ │ │ ├── CT14 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing14.java │ │ │ │ │ ├── CT18 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing18.java │ │ │ │ │ ├── CT25 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing25.java │ │ │ │ │ ├── CT28 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing28.java │ │ │ │ │ ├── CT04 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing04.java │ │ │ │ │ ├── CT21 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing21.java │ │ │ │ │ ├── CT07 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing07.java │ │ │ │ │ ├── Transaction04.java │ │ │ │ │ ├── Administration02.java │ │ │ │ │ ├── Administration01.java │ │ │ │ │ ├── Administration03.java │ │ │ │ │ ├── Administration04.java │ │ │ │ │ ├── Logging04.java │ │ │ │ │ ├── Logging01.java │ │ │ │ │ ├── Logging02.java │ │ │ │ │ ├── Logging03.java │ │ │ │ │ ├── Transaction03.java │ │ │ │ │ ├── Transaction02.java │ │ │ │ │ └── Transaction01.java │ │ │ │ ├── optimizeExecution │ │ │ │ │ ├── CT14 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing14.java │ │ │ │ │ ├── CT28 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing28.java │ │ │ │ │ ├── CT18 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing18.java │ │ │ │ │ ├── CT11 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing11.java │ │ │ │ │ ├── CT21 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing21.java │ │ │ │ │ ├── CT25 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing25.java │ │ │ │ │ ├── CT04 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing04.java │ │ │ │ │ ├── CT07 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── OrderProcessing07.java │ │ │ │ │ ├── OptimizeExecution04.java │ │ │ │ │ ├── Administration04.java │ │ │ │ │ ├── Logging04.java │ │ │ │ │ ├── Logging01.java │ │ │ │ │ ├── Logging02.java │ │ │ │ │ ├── Logging03.java │ │ │ │ │ ├── OptimizeExecution03.java │ │ │ │ │ ├── OptimizeExecution02.java │ │ │ │ │ ├── Administration02.java │ │ │ │ │ ├── Administration03.java │ │ │ │ │ ├── Administration01.java │ │ │ │ │ └── OptimizeExecution01.java │ │ │ │ ├── method │ │ │ │ │ └── test │ │ │ │ │ │ ├── OneAnnotationWithFinalMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithStaticMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithInstanceMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithStrictfpMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithNoParametersMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithSynchronizedMethodOnly.java │ │ │ │ │ │ ├── OneAnnotationWithValidNumberOfParameters.java │ │ │ │ │ │ ├── OneAnnotationWithMethodNamingConvention.java │ │ │ │ │ │ ├── OneAnnotationWithValidMethodReturn.java │ │ │ │ │ │ ├── OneAnnotationWithForbiddenMethodReturn.java │ │ │ │ │ │ ├── OneAnnotationWithMethodVisibilityForbidden.java │ │ │ │ │ │ ├── OneAnnotationWithMethodVisibilityRequired.java │ │ │ │ │ │ ├── PersonWithErrorFinalMethodOnly.java │ │ │ │ │ │ └── OneAnnotationWithValidMethodParameterTypes.java │ │ │ │ └── field │ │ │ │ │ └── test │ │ │ │ │ ├── PersonWithErrorFinalFieldOnly.java │ │ │ │ │ ├── PersonWithErrorTransientFieldOnly.java │ │ │ │ │ ├── PersonWithErrorVolatileFieldOnly.java │ │ │ │ │ ├── PersonWithErrorInstanceFieldOnly.java │ │ │ │ │ ├── PersonWithErrorFieldVisibilityRequired.java │ │ │ │ │ ├── PersonWithErrorStaticFieldOnly.java │ │ │ │ │ ├── PersonWithErrorFieldVisibilityForbidden.java │ │ │ │ │ ├── OneAnnotationWithFinalFieldOnly.java │ │ │ │ │ ├── OneAnnotationWithStaticFieldOnly.java │ │ │ │ │ ├── PersonWithErrorValidFieldTypes.java │ │ │ │ │ ├── OneAnnotationWithInstanceFieldOnly.java │ │ │ │ │ ├── OneAnnotationWithTransientFieldOnly.java │ │ │ │ │ └── OneAnnotationWithVolatileFieldOnly.java │ │ │ ├── locate │ │ │ │ ├── levelLocator │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── CTAux2 │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── CT06.java │ │ │ │ │ │ ├── CT04.java │ │ │ │ │ │ └── CT08.java │ │ │ │ │ ├── CTAux1 │ │ │ │ │ │ ├── CT05.java │ │ │ │ │ │ ├── CT02.java │ │ │ │ │ │ ├── CT07.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── TransactionNoSearchEnclosing.java │ │ │ │ │ └── TransactionSearchOnEnclosing.java │ │ │ │ ├── regularLocator │ │ │ │ │ ├── package-info.java │ │ │ │ │ ├── nopackageannotation │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ └── ForTestRegularLocatorWithoutAnnotations.java │ │ │ │ │ ├── Class08.java │ │ │ │ │ └── Transaction.java │ │ │ │ ├── Heranca │ │ │ │ │ ├── Father.java │ │ │ │ │ ├── Neto.java │ │ │ │ │ ├── Son.java │ │ │ │ │ ├── FatherWithMetadata.java │ │ │ │ │ ├── NetoWithMetadata.java │ │ │ │ │ ├── SonWithMetadata.java │ │ │ │ │ ├── Interfaces │ │ │ │ │ │ ├── InterfaceNotAnnotation.java │ │ │ │ │ │ ├── ClassNotAnnotation.java │ │ │ │ │ │ ├── ClassWithAnnotation.java │ │ │ │ │ │ └── InterfaceWithAnnotation.java │ │ │ │ │ ├── InterfaceMethodAnnotation.java │ │ │ │ │ ├── SuperclassWithMethodAnnotation.java │ │ │ │ │ ├── MethodInterfaceAnnotation.java │ │ │ │ │ ├── MethodSuperclassAnnotation.java │ │ │ │ │ └── AnnotationReq.java │ │ │ │ ├── locators │ │ │ │ │ ├── HasMetadata │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── WithoutAnnotation │ │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ │ └── ClassWithoutAnnotation.java │ │ │ │ │ │ ├── WithAnnotation.java │ │ │ │ │ │ ├── ToTestInside.java │ │ │ │ │ │ ├── ToTestInheritance.java │ │ │ │ │ │ └── ToTestEnclosing.java │ │ │ │ │ ├── FindMetadata │ │ │ │ │ │ ├── WithoutAnnotation │ │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ │ └── ClassWithoutAnnotation.java │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── WithAnnotation.java │ │ │ │ │ │ ├── ToTestInside.java │ │ │ │ │ │ ├── ToTestInheritance.java │ │ │ │ │ │ └── ToTestEnclosing.java │ │ │ │ │ └── FindAllMetadata │ │ │ │ │ │ ├── package-info.java │ │ │ │ │ │ ├── WithAnnotation.java │ │ │ │ │ │ ├── ToTestInside.java │ │ │ │ │ │ ├── ToTestInheritance.java │ │ │ │ │ │ └── ToTestEnclosing.java │ │ │ │ ├── annotationLocator │ │ │ │ │ ├── CTAux1 │ │ │ │ │ │ ├── CT04.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── CTAux2 │ │ │ │ │ │ ├── CT07.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── CTAux3 │ │ │ │ │ │ ├── CT10.java │ │ │ │ │ │ └── package-info.java │ │ │ │ │ ├── Transaction02.java │ │ │ │ │ ├── Administration02.java │ │ │ │ │ ├── Transaction03.java │ │ │ │ │ ├── Administration03.java │ │ │ │ │ ├── Transaction01.java │ │ │ │ │ └── Administration01.java │ │ │ │ ├── conventions │ │ │ │ │ ├── mapping │ │ │ │ │ │ ├── ClassLocked.java │ │ │ │ │ │ ├── ExampleClass.java │ │ │ │ │ │ ├── ClassWithoutAnything.java │ │ │ │ │ │ └── Secure.java │ │ │ │ │ ├── ClassToTestAnnotationsWithTwoConventions.java │ │ │ │ │ ├── annotations │ │ │ │ │ │ ├── HasPrefix.java │ │ │ │ │ │ ├── HasRegex.java │ │ │ │ │ │ ├── HasSuffix.java │ │ │ │ │ │ ├── ClassHaveAnnotation.java │ │ │ │ │ │ ├── MethodHasParamList.java │ │ │ │ │ │ ├── HasFieldType.java │ │ │ │ │ │ ├── ClassOfType.java │ │ │ │ │ │ ├── HasExceptionThrown.java │ │ │ │ │ │ ├── ClassInPackage.java │ │ │ │ │ │ ├── ClassOfGivenType.java │ │ │ │ │ │ ├── HasMethodReturnType.java │ │ │ │ │ │ ├── ClassHaveType.java │ │ │ │ │ │ ├── HasMethodType.java │ │ │ │ │ │ └── HasAnnotationOnElement.java │ │ │ │ │ ├── conventions.config │ │ │ │ │ ├── ForTestingFileConventions.java │ │ │ │ │ ├── AsNumberInField.java │ │ │ │ │ ├── MyColumnName.java │ │ │ │ │ ├── WithTwoConventions.java │ │ │ │ │ └── ForTestingConventions.java │ │ │ │ └── searchenclosing │ │ │ │ │ ├── ClassWithEnclosingAnnotation.java │ │ │ │ │ └── AcceptsEnclosing.java │ │ │ ├── TestAnnotationReader │ │ │ │ ├── AnnotationProperty │ │ │ │ │ ├── Dominio.java │ │ │ │ │ ├── Entidade.java │ │ │ │ │ ├── Propriedade.java │ │ │ │ │ └── AnnotationPropertyTest.java │ │ │ │ ├── Fake.java │ │ │ │ ├── Entidade.java │ │ │ │ ├── Dominio.java │ │ │ │ ├── Procesos.java │ │ │ │ ├── FieldLista.java │ │ │ │ ├── Tabela.java │ │ │ │ ├── CT11Container.java │ │ │ │ ├── CT7Container.java │ │ │ │ ├── CT8Container.java │ │ │ │ ├── CT6Container.java │ │ │ │ └── CT0Container.java │ │ │ ├── container │ │ │ │ └── reading │ │ │ │ │ └── PropertyProcessorsProcessorsTests │ │ │ │ │ ├── container │ │ │ │ │ ├── reading │ │ │ │ │ │ ├── annotations │ │ │ │ │ │ │ ├── DayTest.java │ │ │ │ │ │ │ ├── IgnoreTest.java │ │ │ │ │ │ │ └── CollectionTest.java │ │ │ │ │ │ ├── Processors │ │ │ │ │ │ │ ├── ProcessorTest.java │ │ │ │ │ │ │ ├── DeepProcessor.java │ │ │ │ │ │ │ └── RegularProcessor.java │ │ │ │ │ │ ├── DelegateReader.java │ │ │ │ │ │ └── AnnotationReader.java │ │ │ │ │ └── testClasses │ │ │ │ │ │ ├── ClassWithConvention.java │ │ │ │ │ │ └── ClassWithAnnotations.java │ │ │ │ │ └── PropertyProcessorNew.java │ │ │ └── properties │ │ │ │ ├── elements │ │ │ │ ├── WinouthIgnore.java │ │ │ │ ├── PropertyEmpty.java │ │ │ │ ├── PropertyInClass.java │ │ │ │ ├── IgnoraInterno.java │ │ │ │ ├── IgnoreOneField.java │ │ │ │ ├── PropertyInMethod.java │ │ │ │ ├── PropertyInField.java │ │ │ │ └── ValidElement.java │ │ │ │ ├── annotation │ │ │ │ ├── Exec.java │ │ │ │ ├── IgnoreInComparison.java │ │ │ │ ├── PropertyAnnotation.java │ │ │ │ ├── IgnoreInc.java │ │ │ │ └── PropertyContrainAnnotation.java │ │ │ │ └── containers │ │ │ │ └── PropertyDescriptor.java │ │ │ └── container │ │ │ └── processor │ │ │ ├── clazz │ │ │ ├── ct02 │ │ │ │ └── DomMaxValue.java │ │ │ └── ct01 │ │ │ │ ├── Dominio.java │ │ │ │ ├── Tabela.java │ │ │ │ ├── Entidade.java │ │ │ │ ├── ProcessorAnnotation.java │ │ │ │ └── ProcessorInterface.java │ │ │ ├── method │ │ │ ├── OldDommi.java │ │ │ ├── Tabela.java │ │ │ ├── Dominio.java │ │ │ ├── ProcessorAnnotation.java │ │ │ ├── Entidade.java │ │ │ └── ProcessorInterface.java │ │ │ ├── parameter │ │ │ ├── Dominio.java │ │ │ └── Annoted.java │ │ │ └── Field │ │ │ ├── Tabela.java │ │ │ ├── Dominio.java │ │ │ ├── Entidade.java │ │ │ ├── ProcessorAnnotation.java │ │ │ ├── ProcessorInterface.java │ │ │ ├── ContainerProcessorsTest.java │ │ │ └── DominioSegundo.java │ │ ├── TestCustonReaderAnnoted │ │ ├── PropertyProcessorInterface.java │ │ ├── data │ │ │ └── ClassWithMetadata.java │ │ ├── OutraAnnotation.java │ │ └── PropertyAnnotation.java │ │ ├── Transaction.java │ │ ├── testMethodReading │ │ ├── Dominio.java │ │ ├── Dominio4.java │ │ ├── Dominio2.java │ │ ├── Dominio3.java │ │ ├── Dominio5.java │ │ └── MethodContainer.java │ │ ├── Test │ │ ├── annotations │ │ │ ├── Interna.java │ │ │ ├── FieldAnnoted.java │ │ │ ├── MethodAnnoted.java │ │ │ ├── Entidade.java │ │ │ ├── Entidade2.java │ │ │ ├── InTheField.java │ │ │ ├── Variavel.java │ │ │ ├── InTheMethod.java │ │ │ └── AnnotationPropertyEncapsuled.java │ │ ├── Entidade.java │ │ ├── Annotada.java │ │ ├── Annotada2.java │ │ ├── containers │ │ │ ├── FieldContainer.java │ │ │ └── MethodContainer.java │ │ └── ContainsAnnotationContainer.java │ │ └── With2Annotation │ │ ├── Elements │ │ ├── AnnotedClass.java │ │ ├── Annotation1.java │ │ ├── Annotation2.java │ │ └── AnnotationWithAnnotations.java │ │ └── ContainerClass.java └── main │ └── java │ ├── net │ └── sf │ │ └── esfinge │ │ └── metadata │ │ ├── annotation │ │ ├── container │ │ │ ├── ProcessorType.java │ │ │ ├── Annotation.java │ │ │ ├── PropertyProcessorsNew.java │ │ │ ├── ExecuteProcessor.java │ │ │ ├── ContainerFor.java │ │ │ ├── ElementProperty.java │ │ │ └── PropertyContainsAnnotation.java │ │ ├── validator │ │ │ ├── method │ │ │ │ ├── Parameters.java │ │ │ │ ├── FinalMethodOnly.java │ │ │ │ ├── StaticMethodOnly.java │ │ │ │ ├── StrictfpMethodOnly.java │ │ │ │ ├── InstanceMethodOnly.java │ │ │ │ ├── NoParametersMethodOnly.java │ │ │ │ ├── SynchronizedMethodOnly.java │ │ │ │ ├── ValidMethodReturn.java │ │ │ │ ├── ForbiddenMethodReturn.java │ │ │ │ ├── MethodNamingConvention.java │ │ │ │ ├── ValidNumberOfParameters.java │ │ │ │ ├── MethodVisibilityRequired.java │ │ │ │ ├── ValidMethodParameterTypes.java │ │ │ │ └── MethodVisibilityForbidden.java │ │ │ ├── SearchAnnotationUntilLevel.java │ │ │ ├── ToValidate.java │ │ │ ├── NotNull.java │ │ │ ├── Unique.java │ │ │ ├── SiteValido.java │ │ │ ├── MinValue.java │ │ │ ├── MaxValue.java │ │ │ ├── ToValidateProperty.java │ │ │ ├── ValidFieldType.java │ │ │ ├── field │ │ │ │ ├── FinalFieldOnly.java │ │ │ │ ├── StaticFieldOnly.java │ │ │ │ ├── InstanceFieldOnly.java │ │ │ │ ├── VolatileFieldOnly.java │ │ │ │ ├── TransientFieldOnly.java │ │ │ │ ├── ValidFieldTypes.java │ │ │ │ ├── FieldVisibilityRequired.java │ │ │ │ └── FieldVisibilityForbidden.java │ │ │ ├── Prohibits.java │ │ │ ├── NeedsToHave.java │ │ │ └── RefersTo.java │ │ └── finder │ │ │ ├── Locator.java │ │ │ ├── SearchOnAbstractions.java │ │ │ ├── SearchInsideAnnotations.java │ │ │ └── SearchOnEnclosingElements.java │ │ ├── container │ │ ├── ContainerTarget.java │ │ └── AnnotationPropertyLocation.java │ │ ├── validate │ │ ├── AnnotationValidationException.java │ │ └── NeedsToHave.java │ │ ├── AnnotationValidationException.java │ │ ├── locate │ │ └── conventions │ │ │ ├── annotations │ │ │ ├── attributes │ │ │ │ ├── AtributeWithAnnotation.java │ │ │ │ ├── MethodWithAnnotation.java │ │ │ │ ├── generator │ │ │ │ │ └── AtributeConventionValueGenerator.java │ │ │ │ ├── ElementName.java │ │ │ │ ├── FixedByteValue.java │ │ │ │ ├── FixedCharValue.java │ │ │ │ ├── FixedLongValue.java │ │ │ │ ├── FixedFloatValue.java │ │ │ │ ├── FixedShortValue.java │ │ │ │ ├── FixedDoubleValue.java │ │ │ │ ├── FixedStringValue.java │ │ │ │ ├── FixedBooleanValue.java │ │ │ │ ├── FixedIntegerValue.java │ │ │ │ ├── ValueGenerator.java │ │ │ │ └── ElementNameBeforeSuffix.java │ │ │ ├── AllConventionsNeedToApply.java │ │ │ ├── ContainsParameterTypeConvention.java │ │ │ ├── Verifier.java │ │ │ ├── HaveAnnotationOnElementConvention.java │ │ │ ├── PrefixConvention.java │ │ │ ├── ExactlyParameterTypesConvention.java │ │ │ ├── FieldTypeConvention.java │ │ │ ├── ClassTypeConvention.java │ │ │ ├── MethodExactParamListConvention.java │ │ │ ├── MethodTypeConvention.java │ │ │ ├── SuffixConvention.java │ │ │ ├── ClassHaveTypeConvention.java │ │ │ ├── ClassIsInPackageConvention.java │ │ │ ├── RegularExpressionConvention.java │ │ │ ├── ClassOfGivenTypeConvention.java │ │ │ ├── MethodParamOfTypeConvention.java │ │ │ ├── ClassHaveAnnotationConvention.java │ │ │ └── MethodThrowsExceptionConvention.java │ │ │ └── ConventionVerifier.java │ │ ├── AnnotationValidator.java │ │ └── AnnotationReadingException.java │ ├── conventions.config │ └── c.config ├── diagrams └── metadataValidator.png ├── esfinge-metadata-conventions.pdf ├── .travis.yml └── .idea ├── vcs.xml ├── modules.xml ├── encodings.xml ├── libraries ├── Maven__junit_junit_4_12.xml ├── Maven__org_ow2_asm_asm_6_0.xml ├── Maven__net_sf_esfinge_classmock_2_3.xml ├── Maven__org_hamcrest_hamcrest_core_1_3.xml ├── Maven__org_apache_commons_commons_lang3_3_7.xml ├── Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml ├── Maven__commons_logging_commons_logging_1_2.xml ├── Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml ├── Maven__commons_beanutils_commons_beanutils_1_9_2.xml ├── Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml ├── Maven__com_github_javaparser_javaparser_core_3_5_14.xml ├── Maven__commons_collections_commons_collections_3_2_2.xml ├── Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml └── Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml └── compiler.xml /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | /.classpath 3 | /.project 4 | /bin/ 5 | .settings/ 6 | /.clover/ 7 | -------------------------------------------------------------------------------- /src/metadataValidator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EsfingeFramework/metadata/HEAD/src/metadataValidator.png -------------------------------------------------------------------------------- /diagrams/metadataValidator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EsfingeFramework/metadata/HEAD/diagrams/metadataValidator.png -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/maxValue/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.maxValue; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/minValue/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.minValue; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/notNull/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.notNull; -------------------------------------------------------------------------------- /esfinge-metadata-conventions.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EsfingeFramework/metadata/HEAD/esfinge-metadata-conventions.pdf -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator; -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | sudo: required 3 | dist: trusty 4 | jdk: 5 | - oraclejdk8 6 | 7 | install: 8 | - mvn clean test 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/regularLocator/package-info.java: -------------------------------------------------------------------------------- 1 | @Transaction 2 | package net.sf.esfinge.metadata.locate.regularLocator; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Father.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class Father { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux2/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux2; 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Neto.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class Neto extends Son{ 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Son.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class Son extends Father { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/package-info.java: -------------------------------------------------------------------------------- 1 | @ToTestEnclosing 2 | package net.sf.esfinge.metadata.locate.locators.HasMetadata; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/regularLocator/nopackageannotation/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.regularLocator.nopackageannotation; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux1/CT05.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux1; 2 | 3 | public class CT05 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux2/CT06.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux2; 2 | 3 | public class CT06 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/WithoutAnnotation/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata.WithoutAnnotation; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/WithoutAnnotation/package-info.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata.WithoutAnnotation; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/regularLocator/Class08.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.regularLocator; 2 | 3 | public class Class08 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/TestCustonReaderAnnoted/PropertyProcessorInterface.java: -------------------------------------------------------------------------------- 1 | package TestCustonReaderAnnoted; 2 | 3 | public interface PropertyProcessorInterface { 4 | 5 | 6 | 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux1/CT04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux1; 2 | 3 | public class CT04 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux2/CT07.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux2; 2 | 3 | public class CT07 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux3/CT10.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux3; 2 | 3 | public class CT10 { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/mapping/ClassLocked.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.mapping; 2 | 3 | 4 | public class ClassLocked { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/unique/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Juninho 6 | * 7 | */ 8 | package net.sf.esfinge.metadata.validate.unique; -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/FatherWithMetadata.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | @AnnotationReq 4 | public class FatherWithMetadata { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/NetoWithMetadata.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class NetoWithMetadata extends SonWithMetadata { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/SonWithMetadata.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class SonWithMetadata extends FatherWithMetadata { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/prohibits/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Juninho 6 | * 7 | */ 8 | package net.sf.esfinge.metadata.validate.prohibits; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/purchase/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Juninho 6 | * 7 | */ 8 | package net.sf.esfinge.metadata.validate.purchase; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/mapping/ExampleClass.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.mapping; 2 | 3 | @Secure 4 | public class ExampleClass { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/transaction/package-info.java: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | */ 4 | /** 5 | * @author Juninho 6 | * 7 | */ 8 | package net.sf.esfinge.metadata.validate.transaction; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/mapping/ClassWithoutAnything.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.mapping; 2 | 3 | public class ClassWithoutAnything { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux1/CT02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux1; 2 | 3 | public class CT02{ 4 | public String attribute; 5 | 6 | } -------------------------------------------------------------------------------- /src/test/java/Transaction.java: -------------------------------------------------------------------------------- 1 | import java.lang.annotation.Retention; 2 | import java.lang.annotation.RetentionPolicy; 3 | 4 | @Retention(RetentionPolicy.RUNTIME) 5 | public @interface Transaction { 6 | 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Interfaces/InterfaceNotAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca.Interfaces; 2 | 3 | public interface InterfaceNotAnnotation { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux2/CT04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux2; 2 | 3 | public class CT04 { 4 | public String attribute; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux1/package-info.java: -------------------------------------------------------------------------------- 1 | @net.sf.esfinge.metadata.locate.annotationLocator.Administration01 2 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux1; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux2/package-info.java: -------------------------------------------------------------------------------- 1 | @net.sf.esfinge.metadata.locate.annotationLocator.Administration02 2 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux2; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/CTAux3/package-info.java: -------------------------------------------------------------------------------- 1 | @net.sf.esfinge.metadata.locate.annotationLocator.Administration03 2 | package net.sf.esfinge.metadata.locate.annotationLocator.CTAux3; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct02/DomMaxValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct02; 2 | 3 | @PointsToUser(name="pontoA",valor = 11) 4 | public class DomMaxValue { 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/TestCustonReaderAnnoted/data/ClassWithMetadata.java: -------------------------------------------------------------------------------- 1 | package TestCustonReaderAnnoted.data; 2 | 3 | import TestCustonReaderAnnoted.OutraAnnotation; 4 | 5 | @OutraAnnotation 6 | public class ClassWithMetadata { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Interfaces/ClassNotAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca.Interfaces; 2 | 3 | public class ClassNotAnnotation implements InterfaceNotAnnotation { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT11/package-info.java: -------------------------------------------------------------------------------- 1 | @Transaction02 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT11; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Transaction02;; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT14/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration02 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT14; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Administration02; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT18/package-info.java: -------------------------------------------------------------------------------- 1 | @Transaction03 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT18; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Transaction03; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT25/package-info.java: -------------------------------------------------------------------------------- 1 | @Transaction04 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT25; 3 | 4 | import net.sf.esfinge.metadata.validate.needsToHave.Transaction04; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Interfaces/ClassWithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca.Interfaces; 2 | 3 | public class ClassWithAnnotation implements InterfaceWithAnnotation { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT28/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration04 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT28; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Administration04; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux1/CT07.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux1; 2 | 3 | public class CT07{ 4 | public void method(){ 5 | //method implementation 6 | } 7 | 8 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux2/CT08.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux2; 2 | 3 | public class CT08 { 4 | public void method(){ 5 | //method implementation 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/package-info.java: -------------------------------------------------------------------------------- 1 | @ToTestEnclosing 2 | package net.sf.esfinge.metadata.locate.locators.FindMetadata; 3 | 4 | import net.sf.esfinge.metadata.locate.locators.HasMetadata.ToTestEnclosing; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT04/package-info.java: -------------------------------------------------------------------------------- 1 | @Transaction01 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT04; 3 | 4 | import net.sf.esfinge.metadata.validate.needsToHave.Transaction01; 5 | 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT21/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration03 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT21; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Administration03; 4 | 5 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/ProcessorType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | public enum ProcessorType { 4 | READER_IS_PROCESSOR,READER_RETURNS_PROCESSOR, READER_ADDS_METADATA; 5 | 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindAllMetadata/package-info.java: -------------------------------------------------------------------------------- 1 | @ToTestEnclosing 2 | package net.sf.esfinge.metadata.locate.locators.FindAllMetadata; 3 | 4 | import net.sf.esfinge.metadata.locate.locators.HasMetadata.ToTestEnclosing; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT14/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration02 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT14; 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Administration02; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT28/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration04 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT28; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Administration04; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT07/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration01 2 | package net.sf.esfinge.metadata.validate.needsToHave.CT07; 3 | import net.sf.esfinge.metadata.validate.needsToHave.Administration01; 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT18/package-info.java: -------------------------------------------------------------------------------- 1 | @OptimizeExecution03 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT18; 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.OptimizeExecution03; -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/CTAux1/package-info.java: -------------------------------------------------------------------------------- 1 | @TransactionSearchOnEnclosing 2 | package net.sf.esfinge.metadata.locate.levelLocator.CTAux1; 3 | import net.sf.esfinge.metadata.locate.levelLocator.TransactionSearchOnEnclosing; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT11/package-info.java: -------------------------------------------------------------------------------- 1 | @OptimizeExecution02 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT11; 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.OptimizeExecution02; 4 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT21/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration03 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT21; 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Administration03; 4 | 5 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT25/package-info.java: -------------------------------------------------------------------------------- 1 | @OptimizeExecution04 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT25; 3 | 4 | import net.sf.esfinge.metadata.validate.optimizeExecution.OptimizeExecution04; -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/container/ContainerTarget.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container; 2 | 3 | public enum ContainerTarget { 4 | TYPE, 5 | METHODS, 6 | FIELDS, 7 | ANNOTATIONS, 8 | PROPERTY, 9 | PARAMETER, 10 | ALL, 11 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/InterfaceMethodAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public interface InterfaceMethodAnnotation { 4 | 5 | 6 | void value1(); 7 | 8 | @AnnotationReq 9 | void value2(); 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT04/package-info.java: -------------------------------------------------------------------------------- 1 | @OptimizeExecution01 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT04; 3 | 4 | import net.sf.esfinge.metadata.validate.optimizeExecution.OptimizeExecution01; 5 | 6 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT07/package-info.java: -------------------------------------------------------------------------------- 1 | @Administration01 2 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT07; 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Administration01; 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/OldDommi.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | public interface OldDommi { 4 | @Entidade 5 | public void entidade1(); 6 | 7 | @Entidade 8 | public void entidade2(); 9 | 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/AnnotationProperty/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader.AnnotationProperty; 2 | 3 | 4 | @Entidade 5 | @Propriedade(nome=Dominio.class) 6 | public class Dominio { 7 | 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/annotations/DayTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.annotations; 2 | 3 | public @interface DayTest { 4 | } 5 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/validate/AnnotationValidationException.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate; 2 | 3 | public class AnnotationValidationException extends Exception { 4 | 5 | AnnotationValidationException(String message){ 6 | super(message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/annotations/IgnoreTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.annotations; 2 | 3 | public @interface IgnoreTest { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/annotations/CollectionTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.annotations; 2 | 3 | public @interface CollectionTest { 4 | } 5 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/Interfaces/InterfaceWithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca.Interfaces; 2 | 3 | import net.sf.esfinge.metadata.locate.Heranca.AnnotationReq; 4 | 5 | @AnnotationReq 6 | public interface InterfaceWithAnnotation { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/Dominio.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | import net.sf.esfinge.metadata.TestAnnotationReader.Procesos; 4 | 5 | 6 | public class Dominio { 7 | 8 | public void entidade1(){} 9 | 10 | @Procesos 11 | public void entidade2(){} 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/Dominio4.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | 4 | public class Dominio4 { 5 | 6 | public void entidade1(){} 7 | 8 | public void entidade2(){} 9 | 10 | public void entidade3(){} 11 | 12 | 13 | public void entidade4(){} 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/WithoutAnnotation/ClassWithoutAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata.WithoutAnnotation; 2 | 3 | public class ClassWithoutAnnotation { 4 | private int id; 5 | public void setId(){ 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/WithoutAnnotation/ClassWithoutAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata.WithoutAnnotation; 2 | 3 | public class ClassWithoutAnnotation { 4 | private int id; 5 | public void setId(){ 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/parameter/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.parameter; 2 | 3 | public class Dominio { 4 | 5 | @Annoted 6 | public void var1(int a) 7 | { 8 | 9 | } 10 | 11 | public void var2(int a, String b) 12 | { 13 | 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/regularLocator/Transaction.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.regularLocator; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | @Retention(RetentionPolicy.RUNTIME) 6 | public @interface Transaction { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT25/OrderProcessing25.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT25; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging04; 4 | 5 | public class OrderProcessing25{ 6 | @Logging04 7 | public void registerPurchase(){} 8 | } -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/container/AnnotationPropertyLocation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container; 2 | 3 | public enum AnnotationPropertyLocation { 4 | ALL, 5 | ATTRIBUTE_ONLY, 6 | ATTRIBUTE_GETTER, 7 | ATTRIBUTE_SETTER, 8 | GETTER_ONLY, 9 | SETTER_ONLY, 10 | GETTER_SETTER 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT11/OrderProcessing11.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT11; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging02; 4 | 5 | public class OrderProcessing11{ 6 | @Logging02 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT14/OrderProcessing14.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT14; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging02; 4 | 5 | public class OrderProcessing14{ 6 | @Logging02 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT18/OrderProcessing18.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT18; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging03; 4 | 5 | public class OrderProcessing18{ 6 | @Logging03 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT21/OrderProcessing21.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT21; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging03; 4 | 5 | public class OrderProcessing21{ 6 | @Logging03 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Transaction04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Transaction04 { 8 | 9 | } -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/AnnotationValidationException.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata; 2 | 3 | public class AnnotationValidationException extends Exception { 4 | 5 | public AnnotationValidationException(String message){ 6 | super("\n****Esfinge Metadata Exception**** \n -> "+message); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/AtributeWithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import java.lang.annotation.Annotation; 4 | 5 | public @interface AtributeWithAnnotation { 6 | Class value(); 7 | } 8 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/MethodWithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import java.lang.annotation.Annotation; 4 | 5 | public @interface MethodWithAnnotation { 6 | Class value(); 7 | } 8 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/Fake.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Fake { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT28/OrderProcessing28.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT28; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging04; 4 | 5 | public class OrderProcessing28 { 6 | @Logging04 7 | public void registerPurchase() { 8 | } 9 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/Entidade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Entidade { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/Processors/ProcessorTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.Processors; 2 | 3 | public interface ProcessorTest { 4 | 5 | public void entryPoint(); 6 | } 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/SuperclassWithMethodAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class SuperclassWithMethodAnnotation { 4 | 5 | public void value1() { 6 | 7 | } 8 | 9 | @AnnotationReq 10 | public void value2() { 11 | 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT11/OrderProcessing11.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT11; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging02; 4 | 5 | public class OrderProcessing11{ 6 | @Logging02 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT25/OrderProcessing25.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT25; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging04; 4 | 5 | public class OrderProcessing25{ 6 | @Logging04 7 | public void registerPurchase(){} 8 | } -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/Annotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | @Retention(RUNTIME) 8 | public @interface Annotation { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/TestCustonReaderAnnoted/OutraAnnotation.java: -------------------------------------------------------------------------------- 1 | package TestCustonReaderAnnoted; 2 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 3 | 4 | import java.lang.annotation.Retention; 5 | 6 | @Retention(RUNTIME) 7 | @PropertyAnnotation(ExecuteProcessors.class) 8 | public @interface OutraAnnotation { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/Tabela.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Tabela { 8 | String nome(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/Tabela.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Tabela { 8 | String nome(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/ClassToTestAnnotationsWithTwoConventions.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | public class ClassToTestAnnotationsWithTwoConventions { 4 | 5 | public Number intField; 6 | public Number nointField; 7 | public Integer intOtherField; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT04/OrderProcessing04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT04; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging01; 4 | 5 | public class OrderProcessing04{ 6 | @Logging01 7 | public void registerPurchase(){} 8 | } 9 | 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT14/OrderProcessing14.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT14; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging02; 4 | 5 | public class OrderProcessing14{ 6 | @Logging02 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT18/OrderProcessing18.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT18; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging03; 4 | 5 | public class OrderProcessing18{ 6 | @Logging03 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT21/OrderProcessing21.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT21; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging03; 4 | 5 | public class OrderProcessing21{ 6 | @Logging03 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Transaction02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Transaction02 { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT07/OrderProcessing07.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT07; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging01; 4 | 5 | public class OrderProcessing07{ 6 | @Logging01 7 | public void registerPurchase(){} 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/OptimizeExecution04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface OptimizeExecution04 { 8 | 9 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct01/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct01; 2 | 3 | @Entidade 4 | public class Dominio { 5 | 6 | private String field1; 7 | 8 | private int field2; 9 | 10 | public void entidade1(){} 11 | 12 | public void entidade2(){} 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct01/Tabela.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct01; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Tabela { 8 | String nome(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/TransactionNoSearchEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | @Retention(RetentionPolicy.RUNTIME) 6 | public @interface TransactionNoSearchEnclosing { 7 | 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/searchenclosing/ClassWithEnclosingAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.searchenclosing; 2 | 3 | @AcceptsEnclosing 4 | public class ClassWithEnclosingAnnotation { 5 | 6 | public String attributeWithoutAnnotation; 7 | 8 | public void methodWithoutAnnotation() {} 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/WinouthIgnore.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | public class WinouthIgnore { 4 | int prop1; 5 | 6 | 7 | public int getProp1() { 8 | return prop1; 9 | } 10 | public void setProp1(int prop1) { 11 | this.prop1 = prop1; 12 | } 13 | 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT28/OrderProcessing28.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT28; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging04; 4 | 5 | public class OrderProcessing28 { 6 | @Logging04 7 | public void registerPurchase() { 8 | } 9 | } -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/WithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata; 2 | 3 | @ToTestEnclosing 4 | @ToTestInside 5 | public class WithAnnotation { 6 | @ToTestInside 7 | private int id; 8 | @ToTestInside 9 | public void setId(){ 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/WithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata; 2 | 3 | @ToTestEnclosing 4 | @ToTestInside 5 | public class WithAnnotation { 6 | @ToTestInside 7 | private int id; 8 | @ToTestInside 9 | public void setId(){ 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Administration02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Transaction02 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration02 { 9 | 10 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/CT04/OrderProcessing04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution.CT04; 2 | 3 | import net.sf.esfinge.metadata.validate.optimizeExecution.Logging01; 4 | 5 | public class OrderProcessing04{ 6 | @Logging01 7 | public void registerPurchase(){} 8 | } 9 | 10 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/Parameters.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Parameters { 8 | Class[] parameters(); 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | 4 | public class Dominio { 5 | @Entidade 6 | private String field1; 7 | @Entidade 8 | private int field2; 9 | 10 | 11 | public void entidade1(){} 12 | 13 | 14 | public void entidade2(){} 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | 4 | public class Dominio implements OldDommi{ 5 | 6 | private String field1; 7 | 8 | private int field2; 9 | 10 | 11 | public void entidade1(){} 12 | 13 | 14 | public void entidade2(){} 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/MethodInterfaceAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class MethodInterfaceAnnotation implements InterfaceMethodAnnotation{ 4 | 5 | @Override 6 | public void value1() { 7 | 8 | } 9 | 10 | @Override 11 | public void value2() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindAllMetadata/WithAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindAllMetadata; 2 | 3 | @ToTestEnclosing 4 | @ToTestInside 5 | public class WithAnnotation { 6 | @ToTestInside 7 | private int id; 8 | @ToTestInside 9 | public void setId(){ 10 | 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Administration01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Transaction01 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration01 { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Administration03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Transaction03 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration03 { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Administration04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Transaction04 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration04 { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/conventions.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/java/TestCustonReaderAnnoted/PropertyAnnotation.java: -------------------------------------------------------------------------------- 1 | package TestCustonReaderAnnoted; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | 8 | @Retention(RUNTIME) 9 | public @interface PropertyAnnotation { 10 | 11 | Class value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/MethodSuperclassAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | public class MethodSuperclassAnnotation extends SuperclassWithMethodAnnotation{ 4 | 5 | @Override 6 | public void value1() { 7 | 8 | } 9 | 10 | @Override 11 | public void value2() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasPrefix.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @PrefixConvention("Prefix") 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface HasPrefix { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/regularLocator/nopackageannotation/ForTestRegularLocatorWithoutAnnotations.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.regularLocator.nopackageannotation; 2 | 3 | public class ForTestRegularLocatorWithoutAnnotations { 4 | public String attribute; 5 | 6 | public void method() { 7 | 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/Interna.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Interna { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/AnnotationProperty/Entidade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader.AnnotationProperty; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Entidade { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Administration02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Transaction02 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration02 { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasRegex.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @RegularExpressionConvention("Regex") 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface HasRegex { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasSuffix.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | @SuffixConvention("Suffix") 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface HasSuffix { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/With2Annotation/Elements/AnnotedClass.java: -------------------------------------------------------------------------------- 1 | package With2Annotation.Elements; 2 | 3 | public class AnnotedClass { 4 | 5 | @AnnotationWithAnnotations 6 | private int field1; 7 | 8 | public int getField1() { 9 | return field1; 10 | } 11 | 12 | public void setField1(int field1) { 13 | this.field1 = field1; 14 | } 15 | 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/Entidade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @ProcessorAnnotation(DominioSegundo.class) 9 | public @interface Entidade { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/PropertyProcessorNew.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests; 2 | 3 | import org.junit.Test; 4 | 5 | public class PropertyProcessorNew { 6 | 7 | @Test 8 | public void test() { 9 | //fail("Not yet implemented"); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/Processors/DeepProcessor.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.Processors; 2 | 3 | public class DeepProcessor implements ProcessorTest { 4 | @Override 5 | public void entryPoint() { 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Administration04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @OptimizeExecution04 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Administration04 { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/c.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/ProcessorAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface ProcessorAnnotation { 8 | Class value(); 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct01/Entidade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct01; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @ProcessorAnnotation(DominioSegundo.class) 9 | public @interface Entidade { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/Processors/RegularProcessor.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.Processors; 2 | 3 | public class RegularProcessor implements ProcessorTest{ 4 | @Override 5 | public void entryPoint() { 6 | 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/Dominio2.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | import net.sf.esfinge.metadata.TestAnnotationReader.Procesos; 4 | 5 | 6 | public class Dominio2 { 7 | 8 | public void entidade1(){} 9 | 10 | public void entidade2(){} 11 | 12 | public void entidade3(){} 13 | 14 | @Procesos 15 | public void entidade4(){} 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/PropertyProcessorsNew.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | @Retention(RUNTIME) 8 | 9 | public @interface PropertyProcessorsNew { 10 | AnnotationPropertyLocation value(); 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/AnnotationProperty/Propriedade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader.AnnotationProperty; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | public @interface Propriedade { 8 | Class nome(); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/conventions.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/FieldAnnoted.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface FieldAnnoted { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/Dominio3.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | import net.sf.esfinge.metadata.TestAnnotationReader.Procesos; 4 | 5 | 6 | public class Dominio3 { 7 | 8 | public void entidade1(){} 9 | @Procesos 10 | public void entidade2(){} 11 | @Procesos 12 | public void entidade3(){} 13 | 14 | @Procesos 15 | public void entidade4(){} 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/MethodAnnoted.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface MethodAnnoted { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/prohibits/Init.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.prohibits; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 6 | @Prohibits(Finalize.class) 7 | @Retention(RetentionPolicy.RUNTIME) 8 | public @interface Init { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/Entidade.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | 10 | @SearchInsideAnnotations 11 | @Interna 12 | public @interface Entidade { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/Dominio5.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | import net.sf.esfinge.metadata.TestAnnotationReader.Procesos; 4 | 5 | 6 | public class Dominio5 { 7 | @Procesos 8 | public void entidade1(){} 9 | @Procesos 10 | public void entidade2(){} 11 | @Procesos 12 | public void entidade3(){} 13 | 14 | @Procesos 15 | public void entidade4(){} 16 | 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/With2Annotation/Elements/Annotation1.java: -------------------------------------------------------------------------------- 1 | package With2Annotation.Elements; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 8 | 9 | @Retention(RUNTIME) 10 | @SearchInsideAnnotations 11 | public @interface Annotation1 { 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/With2Annotation/Elements/Annotation2.java: -------------------------------------------------------------------------------- 1 | package With2Annotation.Elements; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 8 | 9 | @Retention(RUNTIME) 10 | @SearchInsideAnnotations 11 | public @interface Annotation2 { 12 | String value(); 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/Dominio.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | 4 | @Entidade 5 | @Tabela(nome="dominio") 6 | public class Dominio { 7 | 8 | private String field1; 9 | 10 | @FieldLista 11 | private int field2; 12 | 13 | public void entidade1(){} 14 | 15 | @Procesos 16 | public void entidade2(){} 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/Test/Entidade.java: -------------------------------------------------------------------------------- 1 | package Test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import Test.annotations.Interna; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchInsideAnnotations 12 | @Interna 13 | public @interface Entidade { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/CT07/OrderProcessing07.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave.CT07; 2 | 3 | import net.sf.esfinge.metadata.validate.needsToHave.Logging01; 4 | import net.sf.esfinge.metadata.validate.needsToHave.Transaction01; 5 | 6 | public class OrderProcessing07{ 7 | @Logging01 8 | @Transaction01 9 | public void registerPurchase(){} 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassHaveAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.*; 4 | 5 | @Retention(RetentionPolicy.RUNTIME) 6 | @Target(ElementType.ANNOTATION_TYPE) 7 | @ClassHaveAnnotationConvention(classAnnotations = {Deprecated.class},canBeSubtype = true) 8 | public @interface ClassHaveAnnotation { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/MethodHasParamList.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @MethodExactParamListConvention(parameters = {Integer.class,String.class}) 8 | public @interface MethodHasParamList { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasFieldType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.Collection; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @FieldTypeConvention(type=Integer.class,canBeSubtype = true) 9 | public @interface HasFieldType { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Logging04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.NeedsToHave; 7 | 8 | @NeedsToHave(Transaction04.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging04 { 11 | 12 | } -------------------------------------------------------------------------------- /src/test/java/Test/annotations/Entidade2.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | 10 | @SearchInsideAnnotations 11 | @Interna 12 | @Variavel(nome="dominio") 13 | public @interface Entidade2 { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/mapping/Secure.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.mapping; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.locate.conventions.annotations.SuffixConvention; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @SuffixConvention("locked") 10 | public @interface Secure { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/parameter/Annoted.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.parameter; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.Target; 7 | import java.lang.annotation.ElementType; 8 | 9 | @Retention(RUNTIME) 10 | @Target(ElementType.METHOD) 11 | 12 | public @interface Annoted { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/Procesos.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.METHOD) 10 | public @interface Procesos { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassOfType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.Collection; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @ClassTypeConvention(superClass = Collection.class, canBeSubtype = true) 9 | public @interface ClassOfType { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/ToTestInside.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata; 2 | 3 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ToTestInside { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Logging01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.NeedsToHave; 7 | 8 | @NeedsToHave(Transaction01.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging01 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Logging02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.NeedsToHave; 7 | 8 | @NeedsToHave(Transaction02.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging02 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/FieldLista.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface FieldLista { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasExceptionThrown.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @MethodThrowsExceptionConvention(thrownException = RuntimeException.class,canBeSubtype = false) 8 | public @interface HasExceptionThrown { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/ToTestInside.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata; 2 | 3 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ToTestInside { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/searchenclosing/AcceptsEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.searchenclosing; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @SearchOnEnclosingElements 10 | public @interface AcceptsEnclosing { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Logging03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | import net.sf.esfinge.metadata.annotation.validator.NeedsToHave; 8 | 9 | @NeedsToHave(Transaction03.class) 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Logging03 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Transaction03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Transaction03 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Logging04.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 7 | 8 | @Prohibits(OptimizeExecution04.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging04 { 11 | 12 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Transaction03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 6 | 7 | @SearchInsideAnnotations 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface Transaction03 { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindAllMetadata/ToTestInside.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindAllMetadata; 2 | 3 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 4 | 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface ToTestInside { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/ToTestInheritance.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnAbstractions 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestInheritance { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/PropertyEmpty.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.IgnoreInComparison; 4 | 5 | public class PropertyEmpty { 6 | int prop1; 7 | 8 | 9 | @IgnoreInComparison 10 | public int getProp1() { 11 | return prop1; 12 | } 13 | public void setProp1(int prop1) { 14 | this.prop1 = prop1; 15 | } 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/ForTestingFileConventions.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 4 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RUNTIME) 10 | public @interface ForTestingFileConventions{ 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/ToTestInheritance.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnAbstractions 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestInheritance { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/HasMetadata/ToTestEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.HasMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnEnclosingElements 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestEnclosing { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Logging01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 7 | 8 | @Prohibits(OptimizeExecution01.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging01 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Logging02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 7 | 8 | @Prohibits(OptimizeExecution02.class) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Logging02 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassInPackage.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | @Retention(RetentionPolicy.RUNTIME) 7 | @ClassIsInPackageConvention(value="net.sf.esfinge.metadata.locate.conventions.ClassWithoutAnnotation",ignoreCase = true) 8 | public @interface ClassInPackage { 9 | } 10 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassOfGivenType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.Collection; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @ClassOfGivenTypeConvention(superClass= Collection.class,canBeSubtype = false) 9 | public @interface ClassOfGivenType { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasMethodReturnType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.Collection; 6 | 7 | @MethodReturnTypeConvention(returnType = Integer.class,canBeSubtype = true) 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface HasMethodReturnType { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindAllMetadata/ToTestInheritance.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindAllMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnAbstractions 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestInheritance { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindMetadata/ToTestEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnEnclosingElements 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestEnclosing { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithFinalMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.FinalMethodOnly; 7 | 8 | @FinalMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithFinalMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Transaction02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchOnEnclosingElements 11 | public @interface Transaction02 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Logging03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 8 | 9 | @Prohibits(OptimizeExecution03.class) 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Logging03 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/locators/FindAllMetadata/ToTestEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.locators.FindAllMetadata; 2 | 3 | 4 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | 9 | @SearchOnEnclosingElements 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface ToTestEnclosing { 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithStaticMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.StaticMethodOnly; 7 | 8 | @StaticMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithStaticMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/OptimizeExecution03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @SearchInsideAnnotations 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OptimizeExecution03 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithInstanceMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.InstanceMethodOnly; 7 | 8 | @InstanceMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithInstanceMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithStrictfpMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.StrictfpMethodOnly; 7 | 8 | @StrictfpMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithStrictfpMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/OptimizeExecution02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | @SearchOnEnclosingElements 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OptimizeExecution02 { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/AnnotationValidator.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.reflect.AnnotatedElement; 5 | 6 | public interface AnnotationValidator { 7 | 8 | public void initialize(Annotation self); 9 | 10 | public void validate(Annotation toValidate, AnnotatedElement annotated) 11 | throws AnnotationValidationException, AnnotationReadingException; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/With2Annotation/Elements/AnnotationWithAnnotations.java: -------------------------------------------------------------------------------- 1 | package With2Annotation.Elements; 2 | 3 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 4 | 5 | import java.lang.annotation.Retention; 6 | 7 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 8 | 9 | @Retention(RUNTIME) 10 | @Annotation1("teste") 11 | @Annotation2("teste2") 12 | @SearchInsideAnnotations 13 | public @interface AnnotationWithAnnotations { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Administration03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @Transaction03 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Administration03 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/AsNumberInField.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.locate.conventions.annotations.FieldTypeConvention; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @FieldTypeConvention(type=Number.class, canBeSubtype=true) 10 | public @interface AsNumberInField { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassHaveType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.ArrayList; 6 | import java.util.Collection; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @ClassHaveTypeConvention(classType = ArrayList.class,canBeSubtype = true) 10 | public @interface ClassHaveType { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasMethodType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import java.util.Collection; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @MethodParamOfTypeConvention(parameters={Integer.class,Long.class,Collection.class},canBeSubtype = true) 9 | public @interface HasMethodType { 10 | } 11 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/levelLocator/TransactionSearchOnEnclosing.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.levelLocator; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | @SearchOnEnclosingElements 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface TransactionSearchOnEnclosing { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/AllConventionsNeedToApply.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.ANNOTATION_TYPE) 10 | public @interface AllConventionsNeedToApply { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/PropertyInClass.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.PropertyContrainAnnotation; 4 | 5 | 6 | @PropertyContrainAnnotation 7 | public class PropertyInClass { 8 | 9 | int prop1; 10 | 11 | 12 | public int getProp1() { 13 | return prop1; 14 | } 15 | public void setProp1(int prop1) { 16 | this.prop1 = prop1; 17 | } 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/SearchAnnotationUntilLevel.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @Target(ElementType.FIELD) 10 | public @interface SearchAnnotationUntilLevel { 11 | int nivel(); 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithNoParametersMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.NoParametersMethodOnly; 7 | 8 | @NoParametersMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithNoParametersMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithSynchronizedMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.SynchronizedMethodOnly; 7 | 8 | @SynchronizedMethodOnly 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithSynchronizedMethodOnly { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Administration02.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | @OptimizeExecution02 9 | @SearchOnEnclosingElements 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Administration02 { 12 | 13 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Administration03.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | 8 | @OptimizeExecution03 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Administration03 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/Test/Annotada.java: -------------------------------------------------------------------------------- 1 | package Test; 2 | 3 | import Test.annotations.AnnotationPropertyEncapsuled; 4 | import Test.annotations.Entidade; 5 | import Test.annotations.InTheField; 6 | import Test.annotations.InTheMethod; 7 | 8 | @Entidade 9 | @AnnotationPropertyEncapsuled 10 | public class Annotada { 11 | @InTheField 12 | int fieldAnnoted; 13 | 14 | int fieldNotAnnoted; 15 | 16 | @InTheMethod 17 | public void methodAnnoted(){} 18 | 19 | public void methodNotAnnoted(){} 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/Test/Annotada2.java: -------------------------------------------------------------------------------- 1 | package Test; 2 | 3 | import Test.annotations.AnnotationPropertyEncapsuled; 4 | import Test.annotations.Entidade; 5 | import Test.annotations.InTheField; 6 | import Test.annotations.InTheMethod; 7 | 8 | @Entidade 9 | @AnnotationPropertyEncapsuled 10 | public class Annotada2 { 11 | @InTheField 12 | int fieldAnnoted; 13 | 14 | int fieldNotAnnoted; 15 | 16 | @InTheMethod 17 | public void methodAnnoted(){} 18 | 19 | public void methodNotAnnoted(){} 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/annotations/HasAnnotationOnElement.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.reflect.Method; 7 | 8 | @Retention(RetentionPolicy.RUNTIME) 9 | @HaveAnnotationOnElementConvention(annotationClass = Deprecated.class) 10 | public @interface HasAnnotationOnElement { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithValidNumberOfParameters.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.ValidNumberOfParameters; 7 | 8 | @ValidNumberOfParameters(numberOfParameters = 2) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithValidNumberOfParameters { 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ContainsParameterTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 4 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RUNTIME) 10 | @Target(ANNOTATION_TYPE) 11 | public @interface ContainsParameterTypeConvention { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithMethodNamingConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.MethodNamingConvention; 7 | 8 | @MethodNamingConvention(regexNamingConvencion = "^get") 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithMethodNamingConvention { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithValidMethodReturn.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.ValidMethodReturn; 7 | 8 | @ValidMethodReturn(validTypesToReturn = {int.class, Integer.class}) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithValidMethodReturn { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/prohibits/Finalize.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.prohibits; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 6 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 7 | @Prohibits(Init.class) 8 | @SearchOnEnclosingElements 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface Finalize { 11 | 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/InTheField.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchOnEnclosingElements 12 | @SearchInsideAnnotations 13 | @FieldAnnoted 14 | public @interface InTheField { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/Variavel.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @SearchOnEnclosingElements 10 | @SearchInsideAnnotations 11 | @Retention(RetentionPolicy.RUNTIME) 12 | public @interface Variavel { 13 | 14 | String nome(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorFinalFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorFinalFieldOnly extends Person{ 4 | 5 | @OneAnnotationWithFinalFieldOnly 6 | float oneDefaultfloat = 4.2f; 7 | 8 | @OneAnnotationWithFinalFieldOnly 9 | public volatile long oneVolatileLong = 2372983; 10 | 11 | public PersonWithErrorFinalFieldOnly(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__junit_junit_4_12.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/InTheMethod.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchOnEnclosingElements 12 | @SearchInsideAnnotations 13 | @MethodAnnoted 14 | public @interface InTheMethod { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_ow2_asm_asm_6_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorTransientFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorTransientFieldOnly extends Person{ 4 | 5 | @OneAnnotationWithTransientFieldOnly 6 | protected String oneProtectedString; 7 | 8 | @OneAnnotationWithTransientFieldOnly 9 | float oneDefaultfloat = 4.2f; 10 | 11 | public PersonWithErrorTransientFieldOnly(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithForbiddenMethodReturn.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.ForbiddenMethodReturn; 7 | 8 | @ForbiddenMethodReturn(invalidTypesToReturn = {void.class, float.class}) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithForbiddenMethodReturn { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorVolatileFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorVolatileFieldOnly extends Person{ 4 | 5 | @OneAnnotationWithVolatileFieldOnly 6 | transient String oneDefaultString; 7 | 8 | @OneAnnotationWithVolatileFieldOnly 9 | private static String oneStaticString = ""; 10 | 11 | public PersonWithErrorVolatileFieldOnly(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithMethodVisibilityForbidden.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.MethodVisibilityForbidden; 7 | 8 | @MethodVisibilityForbidden(itCannotHaveThisVisibility = "private") 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithMethodVisibilityForbidden { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithMethodVisibilityRequired.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.MethodVisibilityRequired; 7 | 8 | @MethodVisibilityRequired(itNeedsToHaveThisVisibility = "protected") 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface OneAnnotationWithMethodVisibilityRequired { 11 | } 12 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/annotation/Exec.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | public @interface Exec { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorInstanceFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorInstanceFieldOnly extends Person{ 4 | 5 | @OneAnnotationWithInstanceFieldOnly 6 | private static String oneStaticString = ""; 7 | 8 | @OneAnnotationWithInstanceFieldOnly 9 | public static String otherStaticString = ""; 10 | 11 | public PersonWithErrorInstanceFieldOnly(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/ExecuteProcessor.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchOnEnclosingElements 11 | @SearchOnAbstractions 12 | public @interface ExecuteProcessor { 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/ContainerFor.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.container.ContainerTarget; 9 | 10 | 11 | 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.TYPE) 14 | public @interface ContainerFor { 15 | ContainerTarget value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/needsToHave/Transaction01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.needsToHave; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Transaction01 { 14 | 15 | } -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/Tabela.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | @SearchOnEnclosingElements 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Tabela { 12 | String nome(); 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Transaction01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | import java.lang.annotation.Retention; 3 | import java.lang.annotation.RetentionPolicy; 4 | 5 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 6 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 7 | 8 | @SearchOnEnclosingElements 9 | @SearchInsideAnnotations 10 | @Retention(RetentionPolicy.RUNTIME) 11 | public @interface Transaction01 { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorFieldVisibilityRequired.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorFieldVisibilityRequired extends Person{ 4 | 5 | @OneAnnotationWithFieldVisibilityRequired 6 | protected String oneProtectedString; 7 | 8 | @OneAnnotationWithFieldVisibilityRequired 9 | transient String oneDefaultString; 10 | 11 | public PersonWithErrorFieldVisibilityRequired(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/CT11Container.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.AnnotationProperty; 4 | 5 | public class CT11Container { 6 | 7 | @AnnotationProperty(annotation = Fake.class, property ="nome") 8 | private String nomeTabela; 9 | 10 | 11 | public String getNomeTabela() { 12 | return nomeTabela; 13 | } 14 | 15 | public void setNomeTabela(String nomeTabela) { 16 | this.nomeTabela = nomeTabela; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/ToValidate.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.AnnotationValidator; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | public @interface ToValidate { 13 | public Class value(); 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/Test/annotations/AnnotationPropertyEncapsuled.java: -------------------------------------------------------------------------------- 1 | package Test.annotations; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchOnEnclosingElements 12 | @SearchInsideAnnotations 13 | @Variavel(nome="dominio") 14 | public @interface AnnotationPropertyEncapsuled { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/annotation/IgnoreInComparison.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | public @interface IgnoreInComparison { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/annotation/PropertyAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | public @interface PropertyAnnotation { 13 | 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/IgnoraInterno.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.IgnoreInc; 4 | 5 | public class IgnoraInterno { 6 | int prop1; 7 | int prop2; 8 | 9 | @IgnoreInc 10 | public int getProp1() { 11 | return prop1; 12 | } 13 | public void setProp1(int prop1) { 14 | this.prop1 = prop1; 15 | } 16 | public int getProp2() { 17 | return prop2; 18 | } 19 | public void setProp2(int prop2) { 20 | this.prop2 = prop2; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/NotNull.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.NotNullAnnotationValidator; 9 | 10 | @ToValidateProperty(value = NotNullAnnotationValidator.class) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface NotNull { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/Unique.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.UniqueAnnotationValidator; 9 | 10 | @ToValidateProperty(value = UniqueAnnotationValidator.class) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface Unique { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/generator/AtributeConventionValueGenerator.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.reflect.AnnotatedElement; 5 | import java.lang.reflect.Method; 6 | 7 | public interface AtributeConventionValueGenerator { 8 | 9 | public Object generateValue(Class mainAnnotation, AnnotatedElement element, Method annotationAtribute, Annotation atributeConvention); 10 | 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/Verifier.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.ConventionVerifier; 9 | 10 | @Target(ElementType.ANNOTATION_TYPE) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | 13 | public @interface Verifier { 14 | Class value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/annotation/IgnoreInc.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchOnEnclosingElements 12 | @SearchInsideAnnotations 13 | @IgnoreInComparison 14 | public @interface IgnoreInc { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorStaticFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.util.HashSet; 4 | import java.util.Set; 5 | 6 | public class PersonWithErrorStaticFieldOnly extends Person{ 7 | 8 | @OneAnnotationWithStaticFieldOnly 9 | private int notStaticValue = 42; 10 | 11 | @OneAnnotationWithStaticFieldOnly 12 | Set oneSet = new HashSet<>(); 13 | 14 | public PersonWithErrorStaticFieldOnly(String name, String cpf, int age) { 15 | super(name, cpf, age); 16 | } 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/finder/Locator.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.finder; 2 | 3 | import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 4 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.locate.MetadataLocator; 10 | 11 | @Retention(RUNTIME) 12 | @Target(ANNOTATION_TYPE) 13 | public @interface Locator { 14 | public Class value(); 15 | public int chainPriority(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/SiteValido.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.SiteValidoAnnotationValidator; 9 | 10 | @ToValidateProperty(value = SiteValidoAnnotationValidator.class) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface SiteValido { 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/DelegateReader.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | @Target({ElementType.ANNOTATION_TYPE}) 9 | @Retention(RetentionPolicy.RUNTIME) 10 | public @interface DelegateReader { 11 | Class value(); 12 | } 13 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/annotationLocator/Administration01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.annotationLocator; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Transaction01 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Administration01 { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/IgnoreOneField.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.IgnoreInComparison; 4 | 5 | public class IgnoreOneField { 6 | int prop1; 7 | int prop2; 8 | 9 | @IgnoreInComparison 10 | public int getProp1() { 11 | return prop1; 12 | } 13 | public void setProp1(int prop1) { 14 | this.prop1 = prop1; 15 | } 16 | public int getProp2() { 17 | return prop2; 18 | } 19 | public void setProp2(int prop2) { 20 | this.prop2 = prop2; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorFieldVisibilityForbidden.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | public class PersonWithErrorFieldVisibilityForbidden extends Person{ 4 | 5 | @OneAnnotationWithFieldVisibilityForbidden 6 | public volatile long oneVolatileLong = 2372983; 7 | 8 | @OneAnnotationWithFieldVisibilityForbidden 9 | public static String otherStaticString = ""; 10 | 11 | public PersonWithErrorFieldVisibilityForbidden(String name, String cpf, int age) { 12 | super(name, cpf, age); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__net_sf_esfinge_classmock_2_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/MinValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.MinValueAnnotationValidator; 9 | 10 | @ToValidateProperty(value = MinValueAnnotationValidator.class) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface MinValue { 14 | int value(); 15 | } -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/MaxValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.MaxValueAnnotationValidator; 9 | 10 | @ToValidateProperty(value =MaxValueAnnotationValidator.class) 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.METHOD) 13 | public @interface MaxValue { 14 | int value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/ToValidateProperty.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.AnnotationPropertyValidator; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | public @interface ToValidateProperty { 13 | public Class value(); 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/Administration01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @SearchOnEnclosingElements 10 | @SearchInsideAnnotations 11 | @OptimizeExecution01 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface Administration01 { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/finder/SearchOnAbstractions.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.finder; 2 | 3 | import static java.lang.annotation.ElementType.ANNOTATION_TYPE; 4 | import static java.lang.annotation.RetentionPolicy.RUNTIME; 5 | 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.locate.InheritanceLocator; 10 | 11 | @Retention(RUNTIME) 12 | @Target(ANNOTATION_TYPE) 13 | @Locator(value = InheritanceLocator.class, chainPriority=30) 14 | public @interface SearchOnAbstractions { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/testClasses/ClassWithConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.testClasses; 2 | 3 | import net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.annotations.DeepTest; 4 | 5 | public class ClassWithConvention { 6 | public int num; 7 | 8 | 9 | public int getNum() { 10 | return num; 11 | } 12 | 13 | public void setNum(int num) { 14 | this.num = num; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/finder/SearchInsideAnnotations.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.finder; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.InsideAnnotationLocator; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Locator(value = InsideAnnotationLocator.class, chainPriority = 10) 13 | public @interface SearchInsideAnnotations { 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/finder/SearchOnEnclosingElements.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.finder; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.EnclosingElementLocator; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Locator(value = EnclosingElementLocator.class, chainPriority=20) 13 | public @interface SearchOnEnclosingElements { 14 | } 15 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct01/ProcessorAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct01; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | public @interface ProcessorAnnotation { 13 | Class value(); 14 | } 15 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/HaveAnnotationOnElementConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.*; 4 | import java.lang.annotation.Annotation; 5 | import net.sf.esfinge.metadata.locate.conventions.HaveAnnotationOnElementConventionVerifier; 6 | 7 | @Retention(RetentionPolicy.RUNTIME) 8 | @Target(ElementType.ANNOTATION_TYPE) 9 | @Verifier(HaveAnnotationOnElementConventionVerifier.class) 10 | public @interface HaveAnnotationOnElementConvention { 11 | Class annotationClass(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/PrefixConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.PrefixConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(PrefixConventionVerifier.class) 13 | public @interface PrefixConvention { 14 | String value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/testClasses/ClassWithAnnotations.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.testClasses; 2 | 3 | import net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading.annotations.DeepTest; 4 | 5 | public class ClassWithAnnotations { 6 | public int num; 7 | 8 | @DeepTest 9 | public int getNum() { 10 | return num; 11 | } 12 | 13 | public void setNum(int num) { 14 | this.num = num; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/annotation/PropertyContrainAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.annotation; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | 11 | @SearchOnEnclosingElements 12 | @SearchInsideAnnotations 13 | @PropertyAnnotation 14 | public @interface PropertyContrainAnnotation { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/ValidFieldType.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.validate.ValidFieldTypeValidator; 9 | 10 | 11 | @ToValidate(value = ValidFieldTypeValidator.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ValidFieldType { 15 | public Class[] value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/PropertyInMethod.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.PropertyContrainAnnotation; 4 | 5 | public class PropertyInMethod { 6 | int prop1; 7 | 8 | int prop2; 9 | 10 | public int getProp1() { 11 | return prop1; 12 | } 13 | public void setProp1(int prop1) { 14 | this.prop1 = prop1; 15 | } 16 | 17 | @PropertyContrainAnnotation 18 | public int getProp2() { 19 | return prop2; 20 | } 21 | public void setProp2(int prop2) { 22 | this.prop2 = prop2; 23 | } 24 | 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/Heranca/AnnotationReq.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.Heranca; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 8 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 9 | @SearchOnAbstractions 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | @Retention(RetentionPolicy.RUNTIME) 13 | public @interface AnnotationReq { 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/PropertyInField.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.metadata.properties.annotation.PropertyContrainAnnotation; 4 | 5 | public class PropertyInField { 6 | int prop1; 7 | 8 | @PropertyContrainAnnotation 9 | int prop2; 10 | 11 | public int getProp1() { 12 | return prop1; 13 | } 14 | public void setProp1(int prop1) { 15 | this.prop1 = prop1; 16 | } 17 | 18 | public int getProp2() { 19 | return prop1; 20 | } 21 | public void setProp2(int prop1) { 22 | this.prop1 = prop1; 23 | } 24 | 25 | 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/test/java/testMethodReading/MethodContainer.java: -------------------------------------------------------------------------------- 1 | package testMethodReading; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ElementName; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.METHODS) 8 | public class MethodContainer { 9 | 10 | 11 | @ElementName 12 | public String metodo; 13 | 14 | 15 | public String getMetodo() { 16 | return metodo; 17 | } 18 | 19 | public void setMetodo(String metodo) { 20 | this.metodo = metodo; 21 | } 22 | 23 | 24 | } 25 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_apache_commons_commons_lang3_3_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_3_1_4.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/test/java/Test/containers/FieldContainer.java: -------------------------------------------------------------------------------- 1 | package Test.containers; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ElementName; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.FIELDS) 8 | public class FieldContainer { 9 | @ElementName 10 | public String methodName; 11 | 12 | public String getMethodName() { 13 | return methodName; 14 | } 15 | 16 | public void setMethodName(String methodName) { 17 | this.methodName = methodName; 18 | } 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/test/java/Test/containers/MethodContainer.java: -------------------------------------------------------------------------------- 1 | package Test.containers; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ElementName; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.METHODS) 8 | public class MethodContainer { 9 | @ElementName 10 | public String fieldName; 11 | 12 | public String getFieldName() { 13 | return fieldName; 14 | } 15 | 16 | public void setFieldName(String fieldName) { 17 | this.fieldName = fieldName; 18 | } 19 | 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_logging_commons_logging_1_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/ElementName.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.ElementNameGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(ElementNameGenerator.class) 13 | public @interface ElementName { 14 | String name(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedByteValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedByteGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedByteGenerator.class) 13 | public @interface FixedByteValue { 14 | byte value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedCharValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedCharGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedCharGenerator.class) 13 | public @interface FixedCharValue { 14 | char value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedLongValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedLongGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedLongGenerator.class) 13 | public @interface FixedLongValue { 14 | long value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/FinalFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorFinalFieldOnly; 10 | 11 | @ToValidate(value = ValidatorFinalFieldOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface FinalFieldOnly{ 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedFloatValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedFloatGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedFloatGenerator.class) 13 | public @interface FixedFloatValue { 14 | float value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedShortValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedShortGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedShortGenerator.class) 13 | public @interface FixedShortValue { 14 | short value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/validate/NeedsToHave.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 10 | 11 | @ToValidate(value = NeedToHaveAnnotationValidator.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface NeedsToHave { 15 | public Class value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/StaticFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorStaticFieldOnly; 10 | 11 | @ToValidate(value = ValidatorStaticFieldOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface StaticFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/FinalMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorFinalMethodOnly; 10 | 11 | @ToValidate(value = ValidatorFinalMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface FinalMethodOnly{ 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedDoubleValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedDoubleGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedDoubleGenerator.class) 13 | public @interface FixedDoubleValue { 14 | double value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedStringValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedStringGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedStringGenerator.class) 13 | public @interface FixedStringValue { 14 | String value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/containers/PropertyDescriptor.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.containers; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ElementName; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | @ContainerFor(ContainerTarget.PROPERTY) 7 | public class PropertyDescriptor { 8 | 9 | @ElementName 10 | private String name; 11 | 12 | public String getName() { 13 | return name; 14 | } 15 | 16 | public void setName(String name) { 17 | this.name = name; 18 | } 19 | 20 | 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/InstanceFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorInstanceFieldOnly; 10 | 11 | @ToValidate(value = ValidatorInstanceFieldOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface InstanceFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/VolatileFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorVolatileFieldOnly; 10 | 11 | @ToValidate(value = ValidatorVolatileFieldOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface VolatileFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/StaticMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorStaticMethodOnly; 10 | 11 | @ToValidate(value = ValidatorStaticMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface StaticMethodOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedBooleanValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedBooleanGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedBooleanGenerator.class) 13 | public @interface FixedBooleanValue { 14 | boolean value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/FixedIntegerValue.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.FixedIntegerGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(FixedIntegerGenerator.class) 13 | public @interface FixedIntegerValue { 14 | int value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/MyColumnName.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.annotations.PrefixConvention; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @PrefixConvention("get") 13 | public @interface MyColumnName { 14 | //the default value for this is the name of the method without the get 15 | //@ElementPropertyName 16 | String value(); 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/OneAnnotationWithFinalFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.field.FinalFieldOnly; 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @FinalFieldOnly 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OneAnnotationWithFinalFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/TransientFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorTransientFieldOnly; 10 | 11 | @ToValidate(value = ValidatorTransientFieldOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface TransientFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/StrictfpMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorStrictfpMethodOnly; 10 | 11 | @ToValidate(value = ValidatorStrictfpMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface StrictfpMethodOnly{ 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/OneAnnotationWithStaticFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.field.StaticFieldOnly; 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @StaticFieldOnly 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OneAnnotationWithStaticFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/optimizeExecution/OptimizeExecution01.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.optimizeExecution; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.Prohibits; 9 | 10 | @SearchOnEnclosingElements 11 | @SearchInsideAnnotations 12 | @Prohibits(Logging01.class) 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OptimizeExecution01 { 15 | 16 | } -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/InstanceMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorInstanceMethodOnly; 10 | 11 | @ToValidate(value = ValidatorInstanceMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface InstanceMethodOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ExactlyParameterTypesConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.MethodTypeConventionVerifier; 9 | 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.ANNOTATION_TYPE) 13 | @Verifier(MethodTypeConventionVerifier.class) 14 | public @interface ExactlyParameterTypesConvention { 15 | Class[] parameters(); 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/PersonWithErrorValidFieldTypes.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.util.HashSet; 4 | import java.util.Set; 5 | 6 | public class PersonWithErrorValidFieldTypes extends Person{ 7 | 8 | @OneAnnotationWithValidFieldTypes 9 | float oneDefaultfloat = 4.2f; 10 | 11 | @OneAnnotationWithValidFieldTypes 12 | public volatile long oneVolatileLong = 2372983; 13 | 14 | @OneAnnotationWithValidFieldTypes 15 | Set oneSet = new HashSet<>(); 16 | 17 | public PersonWithErrorValidFieldTypes(String name, String cpf, int age) { 18 | super(name, cpf, age); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/ElementProperty.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.container.reading.ElementPropertyReadingProcessorNew; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.FIELD) 12 | @AnnotationReadingConfig(ElementPropertyReadingProcessorNew.class) 13 | public @interface ElementProperty { 14 | AnnotationPropertyLocation property() default AnnotationPropertyLocation.ALL; 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/Prohibits.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.validate.ProhibitsAnnotationValidator; 10 | 11 | @ToValidate(value = ProhibitsAnnotationValidator.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface Prohibits { 15 | public Class value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/FieldTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.FieldTypeConventionVerifier; 9 | 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.ANNOTATION_TYPE) 13 | @Verifier(FieldTypeConventionVerifier.class) 14 | public @interface FieldTypeConvention { 15 | Class type(); 16 | boolean canBeSubtype() default false; 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/ValueGenerator.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.AtributeConventionValueGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | public @interface ValueGenerator { 13 | 14 | Class value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/With2Annotation/ContainerClass.java: -------------------------------------------------------------------------------- 1 | package With2Annotation; 2 | 3 | import java.util.List; 4 | 5 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 6 | import net.sf.esfinge.metadata.annotation.container.ProcessFields; 7 | import net.sf.esfinge.metadata.container.ContainerTarget; 8 | 9 | @ContainerFor(ContainerTarget.TYPE) 10 | public class ContainerClass { 11 | 12 | @ProcessFields 13 | List fieldList; 14 | 15 | public List getFieldList() { 16 | return fieldList; 17 | } 18 | 19 | public void setFieldList(List fieldList) { 20 | this.fieldList = fieldList; 21 | } 22 | 23 | 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/clazz/ct01/ProcessorInterface.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.clazz.ct01; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.reflect.AnnotatedElement; 5 | 6 | import net.sf.esfinge.metadata.annotation.container.ExecuteProcessor; 7 | 8 | public interface ProcessorInterface { 9 | 10 | @ExecuteProcessor 11 | public void processorInitializationMethod(Annotation ann); 12 | 13 | public void processorInitializationMethodAndAnnotedElement(AnnotatedElement ael, Annotation ann); 14 | 15 | public void entidade2(Annotation ann, AnnotatedElement ael, Container annotc); 16 | 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/ProcessorAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 8 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @SearchInsideAnnotations 12 | @SearchOnEnclosingElements 13 | public @interface ProcessorAnnotation { 14 | Class value(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/OneAnnotationWithInstanceFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.field.InstanceFieldOnly; 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @InstanceFieldOnly 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OneAnnotationWithInstanceFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/OneAnnotationWithTransientFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.field.TransientFieldOnly; 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @TransientFieldOnly 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OneAnnotationWithTransientFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/field/test/OneAnnotationWithVolatileFieldOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.field.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.annotation.validator.field.VolatileFieldOnly; 9 | 10 | @SearchInsideAnnotations 11 | @SearchOnEnclosingElements 12 | @VolatileFieldOnly 13 | @Retention(RetentionPolicy.RUNTIME) 14 | public @interface OneAnnotationWithVolatileFieldOnly { 15 | } 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/NeedsToHave.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.validate.NeedToHaveAnnotationValidator; 10 | 11 | @ToValidate(value = NeedToHaveAnnotationValidator.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface NeedsToHave { 15 | public Class value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.ClassTypeConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(ClassTypeConventionVerifier.class) 13 | public @interface ClassTypeConvention { 14 | Class superClass(); 15 | boolean canBeSubtype() default false; 16 | } 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/MethodExactParamListConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.MethodExactParamListConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(MethodExactParamListConventionVerifier.class) 13 | public @interface MethodExactParamListConvention { 14 | Class[] parameters(); 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/MethodTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | import net.sf.esfinge.metadata.locate.conventions.MethodTypeConventionVerifier; 3 | 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Target(ElementType.ANNOTATION_TYPE) 11 | @Verifier(MethodTypeConventionVerifier.class) 12 | public @interface MethodTypeConvention { 13 | Class[] parameters(); 14 | boolean canBeSubtype() default false; 15 | } 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/NoParametersMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorNoParametersMethodOnly; 10 | 11 | @ToValidate(value = ValidatorNoParametersMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface NoParametersMethodOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/SynchronizedMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorSynchronizedMethodOnly; 10 | 11 | @ToValidate(value = ValidatorSynchronizedMethodOnly.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface SynchronizedMethodOnly { 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/ProcessorInterface.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import java.lang.annotation.Annotation; 4 | 5 | import net.sf.esfinge.metadata.annotation.container.ExecuteProcessor; 6 | 7 | public interface ProcessorInterface { 8 | 9 | @ExecuteProcessor 10 | public void processorInitializationMethod(Annotation ann); 11 | 12 | // @ExecuteProcessor 13 | // public void processorInitializationMethodAndAnnotedElement(AnnotatedElement ael, Annotation ann); 14 | 15 | // @ExecuteProcessor 16 | // public void entidade2(Annotation ann, AnnotatedElement ael, ContainerMapField annotc); 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/AnnotationProperty/AnnotationPropertyTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader.AnnotationProperty; 2 | 3 | import static org.junit.Assert.assertEquals; 4 | 5 | import org.junit.Test; 6 | 7 | import net.sf.esfinge.metadata.AnnotationReader; 8 | 9 | public class AnnotationPropertyTest { 10 | 11 | @Test 12 | public void test() throws Exception { 13 | Container ct = new Container(); 14 | 15 | AnnotationReader reader = new AnnotationReader(); 16 | ct = reader.readingAnnotationsTo(Dominio.class, ct.getClass()); 17 | assertEquals(Dominio.class, ct.getNomeTabela()); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/WithTwoConventions.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.locate.conventions.annotations.AllConventionsNeedToApply; 7 | import net.sf.esfinge.metadata.locate.conventions.annotations.FieldTypeConvention; 8 | import net.sf.esfinge.metadata.locate.conventions.annotations.PrefixConvention; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @FieldTypeConvention(type=Number.class) 12 | @PrefixConvention("int") 13 | @AllConventionsNeedToApply 14 | public @interface WithTwoConventions { 15 | } 16 | -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_github_javaparser_javaparser_core_3_5_14.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/ValidFieldTypes.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorValidFieldTypes; 10 | 11 | @ToValidate(value = ValidatorValidFieldTypes.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ValidFieldTypes { 15 | Class[] listValidTypes(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/SuffixConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.PrefixConventionVerifier; 9 | import net.sf.esfinge.metadata.locate.conventions.SuffixConventionVerifier; 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.ANNOTATION_TYPE) 13 | @Verifier(SuffixConventionVerifier.class) 14 | public @interface SuffixConvention { 15 | String value(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassHaveTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.ClassHaveTypeConventionVerifier; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(ClassHaveTypeConventionVerifier.class) 13 | public @interface ClassHaveTypeConvention { 14 | Class classType(); 15 | boolean canBeSubtype() default false; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/attributes/ElementNameBeforeSuffix.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations.attributes; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.annotations.attributes.generator.ElementNameBeforeSuffixGenerator; 4 | 5 | import java.lang.annotation.ElementType; 6 | import java.lang.annotation.Retention; 7 | import java.lang.annotation.RetentionPolicy; 8 | import java.lang.annotation.Target; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.METHOD) 12 | @ValueGenerator(ElementNameBeforeSuffixGenerator.class) 13 | public @interface ElementNameBeforeSuffix { 14 | String suffix(); 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/Test/ContainsAnnotationContainer.java: -------------------------------------------------------------------------------- 1 | package Test; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ContainsAnnotation; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.TYPE) 8 | public class ContainsAnnotationContainer { 9 | @ContainsAnnotation(Entidade.class) 10 | private boolean entidadePresent; 11 | 12 | public boolean isEntidadePresent() { 13 | return entidadePresent; 14 | } 15 | 16 | public void setEntidadePresent(boolean entidadePresent) { 17 | this.entidadePresent = entidadePresent; 18 | } 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/ContainerProcessorsTest.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import static org.junit.Assert.assertNotNull; 4 | 5 | import org.junit.Test; 6 | 7 | import net.sf.esfinge.metadata.AnnotationReader; 8 | 9 | 10 | public class ContainerProcessorsTest { 11 | 12 | @Test 13 | public void test() throws Exception { 14 | ContainerMapField container = new ContainerMapField(); 15 | AnnotationReader a1 = new AnnotationReader(); 16 | container = a1.readingAnnotationsTo(Dominio.class, container.getClass()); 17 | 18 | assertNotNull(container.getMap()); 19 | 20 | //assert(); 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/Entidade.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.finder.SearchInsideAnnotations; 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnAbstractions; 8 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 9 | 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @SearchOnEnclosingElements 13 | @SearchInsideAnnotations 14 | @SearchOnAbstractions 15 | @ProcessorAnnotation(DominioSegundo.class) 16 | public @interface Entidade { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/CT7Container.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ElementName; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.TYPE) 8 | public class CT7Container { 9 | 10 | @ElementName 11 | private String nomeClasse; 12 | 13 | public String getNomeClasse() { 14 | return nomeClasse; 15 | } 16 | 17 | public void setNomeClasse(String nomeClasse) { 18 | this.nomeClasse = nomeClasse; 19 | } 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/ValidMethodReturn.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorValidMethodReturn; 10 | 11 | @ToValidate(value = ValidatorValidMethodReturn.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ValidMethodReturn{ 15 | Class[] validTypesToReturn(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassIsInPackageConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.ClassIsInPackageConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(ClassIsInPackageConventionVerifier.class) 13 | public @interface ClassIsInPackageConvention { 14 | String value(); 15 | boolean ignoreCase() default false; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/RegularExpressionConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.locate.conventions.RegularExpressionConventionVerifier; 10 | 11 | @Retention(RetentionPolicy.RUNTIME) 12 | @Target(ElementType.ANNOTATION_TYPE) 13 | @Verifier(RegularExpressionConventionVerifier.class) 14 | public @interface RegularExpressionConvention { 15 | String value(); 16 | boolean ignoreCase() default false; 17 | } 18 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/container/reading/PropertyProcessorsProcessorsTests/container/reading/AnnotationReader.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.reading; 2 | 3 | import java.lang.annotation.Annotation; 4 | 5 | 6 | import net.sf.esfinge.metadata.annotation.container.ExecuteProcessor; 7 | import net.sf.esfinge.metadata.container.reading.PropertyProcessorsProcessorsTests.container.PropertyDescriptor; 8 | 9 | 10 | public interface AnnotationReader { 11 | 12 | @ExecuteProcessor 13 | public void readAnnotation(A annotation, 14 | PropertyDescriptor descriptor); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassOfGivenTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.ClassOfGivenTypeConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(ClassOfGivenTypeConventionVerifier.class) 13 | public @interface ClassOfGivenTypeConvention { 14 | Class superClass(); 15 | boolean canBeSubtype() default false; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/MethodParamOfTypeConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | import net.sf.esfinge.metadata.locate.conventions.MethodParamOfTypeConventionVerifier; 3 | 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | @Retention(RetentionPolicy.RUNTIME) 10 | @Target(ElementType.ANNOTATION_TYPE) 11 | @Verifier(MethodParamOfTypeConventionVerifier.class) 12 | public @interface MethodParamOfTypeConvention { 13 | Class[] parameters(); 14 | boolean canBeSubtype() default false; 15 | } 16 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/Field/DominioSegundo.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.Field; 2 | 3 | import java.lang.annotation.Annotation; 4 | 5 | 6 | public class DominioSegundo implements ProcessorInterface { 7 | 8 | //private String field1; 9 | 10 | //private int field2; 11 | 12 | @Override 13 | public void processorInitializationMethod(Annotation ann) { 14 | 15 | } 16 | 17 | 18 | //public void processorInitializationMethodAndAnnotedElement(AnnotatedElement ael, Annotation ann) { 19 | 20 | //} 21 | 22 | 23 | //public void entidade2(Annotation ann, 24 | // AnnotatedElement ael, ContainerMapField annotc){ 25 | //} 26 | 27 | } 28 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_9_7.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/RefersTo.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.ElementType; 5 | import java.lang.annotation.Retention; 6 | import java.lang.annotation.RetentionPolicy; 7 | import java.lang.annotation.Target; 8 | 9 | import net.sf.esfinge.metadata.validate.RefersToAnnotationValidator; 10 | 11 | @ToValidateProperty(value = RefersToAnnotationValidator.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface RefersTo { 15 | public Class annotation(); 16 | String attributeValue(); 17 | } 18 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/ConventionVerifier.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ExecuteProcessor; 4 | 5 | import java.lang.annotation.Annotation; 6 | import java.lang.reflect.AnnotatedElement; 7 | import java.util.Map; 8 | 9 | public interface ConventionVerifier { 10 | @ExecuteProcessor 11 | public void init(A conventionAnnotation); 12 | 13 | //to init from external file 14 | public default void init(Map parameters){ 15 | throw new UnsupportedOperationException(); 16 | } 17 | 18 | public boolean isConventionPresent(AnnotatedElement element); 19 | 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/PersonWithErrorFinalMethodOnly.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | public class PersonWithErrorFinalMethodOnly extends Person{ 4 | 5 | private int notStaticValue = 42; 6 | 7 | protected String oneProtectedString; 8 | 9 | 10 | public PersonWithErrorFinalMethodOnly(String name, String cpf, int age) { 11 | super(name, cpf, age); 12 | } 13 | 14 | @OneAnnotationWithFinalMethodOnly 15 | public int getNotStaticValue() { 16 | return notStaticValue; 17 | } 18 | 19 | @OneAnnotationWithFinalMethodOnly 20 | public void setNotStaticValue(int notStaticValue) { 21 | this.notStaticValue = notStaticValue; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/ForbiddenMethodReturn.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorForbiddenMethodReturn; 10 | 11 | @ToValidate(value = ValidatorForbiddenMethodReturn.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ForbiddenMethodReturn{ 15 | Class[] invalidTypesToReturn(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/MethodNamingConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorMethodNamingConvention; 10 | 11 | @ToValidate(value = ValidatorMethodNamingConvention.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface MethodNamingConvention { 15 | String regexNamingConvencion(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/ValidNumberOfParameters.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorValidNumberOfParameters; 10 | 11 | @ToValidate(value = ValidatorValidNumberOfParameters.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ValidNumberOfParameters{ 15 | int numberOfParameters(); 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/container/processor/method/ProcessorInterface.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.container.processor.method; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.reflect.AnnotatedElement; 5 | 6 | import net.sf.esfinge.metadata.annotation.container.ExecuteProcessor; 7 | 8 | public interface ProcessorInterface { 9 | 10 | @ExecuteProcessor 11 | public void processorInitializationMethod(Annotation ann); 12 | 13 | @ExecuteProcessor 14 | public void processorInitializationMethodAndAnnotedElement(AnnotatedElement ael, Annotation ann); 15 | 16 | @ExecuteProcessor 17 | public void entidade2(Annotation ann, AnnotatedElement ael, Container annotc); 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/CT8Container.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ReflectionReference; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.TYPE) 8 | public class CT8Container { 9 | 10 | @ReflectionReference 11 | private Class classValue; 12 | 13 | 14 | public Class getClassValue() { 15 | return classValue; 16 | } 17 | 18 | public void setClassValue(Class classValue) { 19 | this.classValue = classValue; 20 | } 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/locate/conventions/ForTestingConventions.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions; 2 | 3 | import java.util.ArrayList; 4 | 5 | public class ForTestingConventions { 6 | 7 | public Number field1; 8 | public Integer field2; 9 | public String field3; 10 | 11 | public void prefixMethod() {} 12 | 13 | public void methodSuffix() { 14 | 15 | } 16 | 17 | public void methodContainsRegex() { 18 | 19 | } 20 | 21 | public void regexAnywhereInMehod() { 22 | 23 | } 24 | 25 | @ForTesting 26 | public void withAnnotationMethod() {} 27 | 28 | public void noConventionMethod() {} 29 | public java.util.ArrayList getArray(){ return new ArrayList();} 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/AnnotationReadingException.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata; 2 | 3 | public class AnnotationReadingException extends Exception { 4 | 5 | public AnnotationReadingException() { 6 | super(); 7 | } 8 | 9 | public AnnotationReadingException(String arg0, Throwable arg1, boolean arg2, boolean arg3) { 10 | super(arg0, arg1, arg2, arg3); 11 | } 12 | 13 | public AnnotationReadingException(String arg0, Throwable arg1) { 14 | super(arg0, arg1); 15 | } 16 | 17 | public AnnotationReadingException(String arg0) { 18 | super(arg0); 19 | } 20 | 21 | public AnnotationReadingException(Throwable arg0) { 22 | super(arg0); 23 | } 24 | 25 | 26 | 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/ClassHaveAnnotationConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import net.sf.esfinge.metadata.locate.conventions.ClassHaveAnnotationConventionVerifier; 4 | 5 | 6 | import java.lang.annotation.ElementType; 7 | import java.lang.annotation.Retention; 8 | import java.lang.annotation.RetentionPolicy; 9 | import java.lang.annotation.Target; 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(ClassHaveAnnotationConventionVerifier.class) 13 | public @interface ClassHaveAnnotationConvention { 14 | Class[] classAnnotations(); 15 | boolean canBeSubtype() default false; 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/locate/conventions/annotations/MethodThrowsExceptionConvention.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.locate.conventions.annotations; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.locate.conventions.MethodThrowsExceptionConventionVerifier; 9 | 10 | @Retention(RetentionPolicy.RUNTIME) 11 | @Target(ElementType.ANNOTATION_TYPE) 12 | @Verifier(MethodThrowsExceptionConventionVerifier.class) 13 | public @interface MethodThrowsExceptionConvention { 14 | Class thrownException(); 15 | boolean canBeSubtype() default false; 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/CT6Container.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 4 | import net.sf.esfinge.metadata.annotation.container.ContainsAnnotation; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.TYPE) 8 | public class CT6Container { 9 | 10 | @ContainsAnnotation(Entidade.class) 11 | private boolean isEntidade; 12 | 13 | public boolean isEntidade() { 14 | return isEntidade; 15 | } 16 | 17 | public void setisEntidade(boolean isEntidade) { 18 | this.isEntidade = isEntidade; 19 | } 20 | 21 | 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/properties/elements/ValidElement.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.properties.elements; 2 | 3 | import net.sf.esfinge.container.processor.method.DominioSegundo; 4 | import net.sf.esfinge.container.processor.method.ProcessorAnnotation; 5 | 6 | 7 | public class ValidElement { 8 | @ProcessorAnnotation(DominioSegundo.class) 9 | int prop1; 10 | int prop2; 11 | 12 | public int getProp1() { 13 | return prop1; 14 | } 15 | public void setProp1(int prop1) { 16 | this.prop1 = prop1; 17 | } 18 | 19 | @ProcessorAnnotation(DominioSegundo.class) 20 | public int getProp2() { 21 | return prop2; 22 | } 23 | public void setProp2(int prop2) { 24 | this.prop2 = prop2; 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/container/PropertyContainsAnnotation.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.container; 2 | 3 | import java.lang.annotation.Annotation; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | 7 | import net.sf.esfinge.metadata.annotation.finder.SearchOnEnclosingElements; 8 | import net.sf.esfinge.metadata.container.reading.PropertyContainsAnnotationProcessor; 9 | 10 | 11 | 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @AnnotationReadingConfig(PropertyContainsAnnotationProcessor.class) 14 | @SearchOnEnclosingElements 15 | public @interface PropertyContainsAnnotation { 16 | Class value(); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/FieldVisibilityRequired.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorFieldVisibilityRequired; 10 | 11 | @ToValidate(value = ValidatorFieldVisibilityRequired.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface FieldVisibilityRequired { 15 | String itNeedsToHaveThisVisibility(); 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/TestAnnotationReader/CT0Container.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.TestAnnotationReader; 2 | 3 | import net.sf.esfinge.metadata.annotation.container.AnnotationProperty; 4 | import net.sf.esfinge.metadata.annotation.container.ContainerFor; 5 | import net.sf.esfinge.metadata.container.ContainerTarget; 6 | 7 | @ContainerFor(value = ContainerTarget.TYPE) 8 | public class CT0Container { 9 | @AnnotationProperty(annotation = Tabela.class, property ="nome") 10 | private String nomeTabela; 11 | 12 | public String getNomeTabela() { 13 | return nomeTabela; 14 | } 15 | 16 | public void setNomeTabela(String nomeTabela) { 17 | this.nomeTabela = nomeTabela; 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/field/FieldVisibilityForbidden.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.field; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.field.ValidatorFieldVisibilityForbidden; 10 | 11 | @ToValidate(value = ValidatorFieldVisibilityForbidden.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface FieldVisibilityForbidden { 15 | String itCannotHaveThisVisibility(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/MethodVisibilityRequired.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorMethodVisibilityRequired; 10 | 11 | @ToValidate(value = ValidatorMethodVisibilityRequired.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface MethodVisibilityRequired { 15 | String itNeedsToHaveThisVisibility(); 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/ValidMethodParameterTypes.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorValidMethodParameterTypes; 10 | 11 | @ToValidate(value = ValidatorValidMethodParameterTypes.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface ValidMethodParameterTypes{ 15 | Parameters[] validParameters(); 16 | } 17 | -------------------------------------------------------------------------------- /src/test/java/net/sf/esfinge/metadata/validate/method/test/OneAnnotationWithValidMethodParameterTypes.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.validate.method.test; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | 6 | import net.sf.esfinge.metadata.annotation.validator.method.Parameters; 7 | import net.sf.esfinge.metadata.annotation.validator.method.ValidMethodParameterTypes; 8 | 9 | @ValidMethodParameterTypes( 10 | validParameters = { 11 | @Parameters( parameters = {String.class, Integer.class} ), 12 | @Parameters( parameters = {String.class, int.class} ) 13 | } 14 | ) 15 | @Retention(RetentionPolicy.RUNTIME) 16 | public @interface OneAnnotationWithValidMethodParameterTypes { 17 | } 18 | -------------------------------------------------------------------------------- /.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_9_0.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/net/sf/esfinge/metadata/annotation/validator/method/MethodVisibilityForbidden.java: -------------------------------------------------------------------------------- 1 | package net.sf.esfinge.metadata.annotation.validator.method; 2 | 3 | import java.lang.annotation.ElementType; 4 | import java.lang.annotation.Retention; 5 | import java.lang.annotation.RetentionPolicy; 6 | import java.lang.annotation.Target; 7 | 8 | import net.sf.esfinge.metadata.annotation.validator.ToValidate; 9 | import net.sf.esfinge.metadata.validate.method.ValidatorMethodVisibilityForbidden; 10 | 11 | @ToValidate(value = ValidatorMethodVisibilityForbidden.class) 12 | @Retention(RetentionPolicy.RUNTIME) 13 | @Target(ElementType.ANNOTATION_TYPE) 14 | public @interface MethodVisibilityForbidden { 15 | String itCannotHaveThisVisibility(); 16 | } 17 | --------------------------------------------------------------------------------