Package com.embabel.agent.core
Interface DomainType
-
- All Implemented Interfaces:
-
com.embabel.common.core.types.Described,com.embabel.common.core.types.HasInfoString,com.embabel.common.core.types.Named,com.embabel.common.core.types.NamedAndDescribed
public interface DomainType implements HasInfoString, NamedAndDescribedType known to the Embabel agent platform. May be backed by a domain object or ba dynamic type. Supports inheritance.
-
-
Method Summary
Modifier and Type Method Description abstract Collection<DomainType>children(Collection<String> additionalBasePackages)Get all descendant types from the classpath. abstract BooleanisAssignableFrom(Class<?> other)abstract BooleanisAssignableFrom(DomainType other)abstract BooleanisAssignableTo(Class<?> other)abstract BooleanisAssignableTo(DomainType other)List<PropertyDefinition>getProperties()List<ValuePropertyDefinition>getValues()List<DomainTypePropertyDefinition>getRelationships()abstract List<PropertyDefinition>getOwnProperties()Properties defined on this type only (not inherited) abstract List<DomainType>getParents()Supports inheritance abstract BooleangetCreationPermitted()Is instance creation permitted? Set<String>getLabels()StringgetOwnLabel()-
Methods inherited from class com.embabel.common.core.types.HasInfoString
infoString -
Methods inherited from class com.embabel.common.core.types.Described
getDescription -
Methods inherited from class com.embabel.common.core.types.Named
getName -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
children
abstract Collection<DomainType> children(Collection<String> additionalBasePackages)
Get all descendant types from the classpath. For JvmType: scans the classpath for classes that extend or implement this type. For DynamicType: returns empty list as dynamic types don't have classpath descendants.
- Parameters:
additionalBasePackages- additional base packages to scan for descendants We always include the package of this type as a base package.
-
isAssignableFrom
abstract Boolean isAssignableFrom(Class<?> other)
-
isAssignableFrom
abstract Boolean isAssignableFrom(DomainType other)
-
isAssignableTo
abstract Boolean isAssignableTo(Class<?> other)
-
isAssignableTo
abstract Boolean isAssignableTo(DomainType other)
-
getProperties
List<PropertyDefinition> getProperties()
-
getValues
List<ValuePropertyDefinition> getValues()
-
getRelationships
List<DomainTypePropertyDefinition> getRelationships()
-
getOwnProperties
abstract List<PropertyDefinition> getOwnProperties()
Properties defined on this type only (not inherited)
-
getParents
abstract List<DomainType> getParents()
Supports inheritance
-
getCreationPermitted
abstract Boolean getCreationPermitted()
Is instance creation permitted? Or is this reference data?
-
getOwnLabel
String getOwnLabel()
-
-
-
-