Package com.tngtech.archunit.core.domain
Class DomainObjectCreationContext
java.lang.Object
com.tngtech.archunit.core.domain.DomainObjectCreationContext
Together with
To make up for the public visibility, the JLS forces upon us,
DomainBuilders
, this class is the link to create domain objects from the import
context. To make the API clear, we try to keep only those methods public, which are really meant to be used.
Constructors of domain objects however, are not to be used under any circumstances, only ArchUnit may construct
domain objects. To keep ..domain..
and ..importer..
in reasonably grouped packages, we unfortunately
need to have some public link, which is created by supplying DomainBuilders
, which can only be
instantiated within package ..importer..
to DomainObjectCreationContext
, which is the only place
to create domain objects.To make up for the public visibility, the JLS forces upon us,
DomainObjectCreationContext
is declared @Internal
, to emphasize that it is not meant
for ArchUnit users, to be accessed in any way.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic void
completeAnnotations
(JavaClass javaClass, ImportContext importContext) static void
completeClassHierarchy
(JavaClass javaClass, ImportContext importContext) static void
completeEnclosingDeclaration
(JavaClass javaClass, ImportContext importContext) static void
completeGenericInterfaces
(JavaClass javaClass, ImportContext importContext) static void
completeGenericSuperclass
(JavaClass javaClass, ImportContext importContext) static void
completeMembers
(JavaClass javaClass, ImportContext importContext) static void
completeTypeParameters
(JavaClass javaClass, ImportContext importContext) static void
completeTypeVariable
(JavaTypeVariable<?> variable, List<JavaType> upperBounds) createConstructorCallTarget
(DomainBuilders.CodeUnitAccessTargetBuilder<JavaConstructor, AccessTarget.ConstructorCallTarget> builder) createConstructorReferenceTarget
(DomainBuilders.CodeUnitAccessTargetBuilder<JavaConstructor, AccessTarget.ConstructorReferenceTarget> builder) static JavaGenericArrayType
createGenericArrayType
(JavaType componentType, JavaClass erasure) static InstanceofCheck
createInstanceofCheck
(JavaCodeUnit codeUnit, JavaClass target, int lineNumber) static <T extends HasDescription>
JavaAnnotation<T>createJavaAnnotation
(T owner, DomainBuilders.JavaAnnotationBuilder builder) static JavaClass
static JavaClasses
createJavaClasses
(Map<String, JavaClass> selectedClasses, Collection<JavaClass> allClasses, ImportContext importContext) static JavaConstructor
static JavaConstructorCall
static JavaConstructorReference
static JavaEnumConstant
static JavaField
static JavaFieldAccess
static JavaMethod
createJavaMethod
(DomainBuilders.JavaMethodBuilder builder, Function<JavaMethod, Optional<Object>> createAnnotationDefaultValue) static JavaMethodCall
static JavaMethodReference
static JavaStaticInitializer
createMethodCallTarget
(DomainBuilders.CodeUnitAccessTargetBuilder<JavaMethod, AccessTarget.MethodCallTarget> builder) createMethodReferenceTarget
(DomainBuilders.CodeUnitAccessTargetBuilder<JavaMethod, AccessTarget.MethodReferenceTarget> builder) static ReferencedClassObject
createReferencedClassObject
(JavaCodeUnit codeUnit, JavaClass javaClass, int lineNumber) static Source
createSource
(URI uri, Optional<String> sourceFileName, boolean md5InClassSourcesEnabled) static <CODE_UNIT extends JavaCodeUnit>
ThrowsClause<CODE_UNIT>createThrowsClause
(CODE_UNIT codeUnit, List<JavaClass> types) static <OWNER extends HasDescription>
JavaTypeVariable<OWNER>createTypeVariable
(String name, OWNER owner, JavaClass erasure) static JavaWildcardType
-
Constructor Details
-
DomainObjectCreationContext
public DomainObjectCreationContext()
-
-
Method Details
-
createJavaClasses
public static JavaClasses createJavaClasses(Map<String, JavaClass> selectedClasses, Collection<JavaClass> allClasses, ImportContext importContext) -
createJavaClass
-
completeClassHierarchy
-
completeEnclosingDeclaration
-
completeTypeParameters
-
completeGenericSuperclass
-
completeGenericInterfaces
-
completeMembers
-
completeAnnotations
-
createJavaAnnotation
public static <T extends HasDescription> JavaAnnotation<T> createJavaAnnotation(T owner, DomainBuilders.JavaAnnotationBuilder builder) -
createJavaField
-
createJavaFieldAccess
-
createFieldAccessTarget
public static AccessTarget.FieldAccessTarget createFieldAccessTarget(DomainBuilders.FieldAccessTargetBuilder builder) -
createJavaConstructor
-
createJavaConstructorCall
public static JavaConstructorCall createJavaConstructorCall(DomainBuilders.JavaConstructorCallBuilder builder) -
createJavaConstructorReference
public static JavaConstructorReference createJavaConstructorReference(DomainBuilders.JavaConstructorReferenceBuilder builder) -
createConstructorCallTarget
public static AccessTarget.ConstructorCallTarget createConstructorCallTarget(DomainBuilders.CodeUnitAccessTargetBuilder<JavaConstructor, AccessTarget.ConstructorCallTarget> builder) -
createConstructorReferenceTarget
public static AccessTarget.ConstructorReferenceTarget createConstructorReferenceTarget(DomainBuilders.CodeUnitAccessTargetBuilder<JavaConstructor, AccessTarget.ConstructorReferenceTarget> builder) -
createJavaMethod
public static JavaMethod createJavaMethod(DomainBuilders.JavaMethodBuilder builder, Function<JavaMethod, Optional<Object>> createAnnotationDefaultValue) -
createJavaMethodCall
-
createJavaMethodReference
public static JavaMethodReference createJavaMethodReference(DomainBuilders.JavaMethodReferenceBuilder builder) -
createMethodCallTarget
public static AccessTarget.MethodCallTarget createMethodCallTarget(DomainBuilders.CodeUnitAccessTargetBuilder<JavaMethod, AccessTarget.MethodCallTarget> builder) -
createMethodReferenceTarget
public static AccessTarget.MethodReferenceTarget createMethodReferenceTarget(DomainBuilders.CodeUnitAccessTargetBuilder<JavaMethod, AccessTarget.MethodReferenceTarget> builder) -
createJavaStaticInitializer
public static JavaStaticInitializer createJavaStaticInitializer(DomainBuilders.JavaStaticInitializerBuilder builder) -
createJavaEnumConstant
public static JavaEnumConstant createJavaEnumConstant(DomainBuilders.JavaEnumConstantBuilder builder) -
createSource
-
createReferencedClassObject
public static ReferencedClassObject createReferencedClassObject(JavaCodeUnit codeUnit, JavaClass javaClass, int lineNumber) -
createThrowsClause
public static <CODE_UNIT extends JavaCodeUnit> ThrowsClause<CODE_UNIT> createThrowsClause(CODE_UNIT codeUnit, List<JavaClass> types) -
createInstanceofCheck
public static InstanceofCheck createInstanceofCheck(JavaCodeUnit codeUnit, JavaClass target, int lineNumber) -
createTypeVariable
public static <OWNER extends HasDescription> JavaTypeVariable<OWNER> createTypeVariable(String name, OWNER owner, JavaClass erasure) -
completeTypeVariable
-
createGenericArrayType
public static JavaGenericArrayType createGenericArrayType(JavaType componentType, JavaClass erasure) -
createWildcardType
public static JavaWildcardType createWildcardType(DomainBuilders.JavaWildcardTypeBuilder<?> builder)
-