Class NativeComplexTypeDefinitionImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.schema.processor.NativeComplexTypeDefinitionImpl
- All Implemented Interfaces:
AbstractTypeDefinition,ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder,Definition.DefinitionBuilder,DefinitionFragmentBuilder,Freezable,PrismLifecycleDefinition.Mutable,PrismPresentationDefinition.Mutable,SerializableComplexTypeDefinition,SerializableDefinition,TypeDefinition.TypeDefinitionLikeBuilder,NativeObjectClassDefinition,NativeObjectClassDefinition.NativeObjectClassDefinitionBuilder,NativeObjectClassUcfDefinition,NativeObjectClassUcfDefinition.Delegable,NativeObjectClassUcfDefinition.Mutable,NativeObjectClassUcfDefinition.Mutable.Delegable,NativeReferenceTypeDefinition,DebugDumpable,Serializable,Cloneable
public class NativeComplexTypeDefinitionImpl
extends AbstractFreezable
implements NativeObjectClassDefinition, NativeReferenceTypeDefinition, AbstractTypeDefinition, SerializableComplexTypeDefinition, NativeObjectClassUcfDefinition.Delegable, NativeObjectClassUcfDefinition.Mutable.Delegable, NativeObjectClassDefinition.NativeObjectClassDefinitionBuilder
Represents native object class or reference type definition.
Similarly to
NativeShadowAttributeDefinitionImpl, it is practical to merge these two into one implementation class.
The main reason is that both correspond to XSD complex type definition, and we need to instantiate them as early as
`xsd:complexType` is encountered in the schema; without reading the annotations up front.- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassDefinition
NativeObjectClassDefinition.NativeObjectClassDefinitionBuilderNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassUcfDefinition
NativeObjectClassUcfDefinition.Data, NativeObjectClassUcfDefinition.Delegable, NativeObjectClassUcfDefinition.MutableNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassUcfDefinition.Mutable
NativeObjectClassUcfDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.NativeReferenceTypeDefinition
NativeReferenceTypeDefinition.NativeParticipantNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismLifecycleDefinition.Mutable
PrismLifecycleDefinition.Mutable.DelegableNested classes/interfaces inherited from interface com.evolveum.midpoint.prism.PrismPresentationDefinition.Mutable
PrismPresentationDefinition.Mutable.Delegable -
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(DefinitionFragmentBuilder builder) Should provide and register compile time class.voidaddParticipant(@NotNull String objectClassName, @Nullable ItemName referenceAttributeName, @NotNull ShadowReferenceParticipantRole role) voidaddParticipantIfNotThere(@NotNull String objectClassName, @NotNull ShadowReferenceParticipantRole role) clone()debugDump(int indent) findReferenceAttributeDefinition(@NotNull QName attrName) findSimpleAttributeDefinition(@NotNull QName attrName) @NotNull List<NativeShadowAttributeDefinitionImpl<?>>@NotNull Collection<? extends SerializableItemDefinition>@Nullable QNameCollection<DefinitionFeature<?,?, ? super com.sun.xml.xsom.XSComplexType, ?>> Returns a set of "extra" features for the CTD-like definition currently being built.Collection<? extends DefinitionFeature<?,?, ?, ?>> getHelp()@NotNull StringgetName()ShadowReferenceParticipantRole.OBJECTparticipants in this reference.@NotNull QNamegetQName()@NotNull List<? extends NativeShadowReferenceAttributeDefinition>@NotNull List<? extends NativeShadowSimpleAttributeDefinition<?>>ShadowReferenceParticipantRole.SUBJECTparticipants in this reference.@Nullable QName@NotNull QNamebooleanbooleanbooleanbooleanbooleanbooleannewContainerLikeDefinition(QName itemName, AbstractTypeDefinition ctd) newObjectLikeDefinition(QName itemName, AbstractTypeDefinition ctd) newPropertyLikeDefinition(QName elementName, QName typeName) protected voidvoidsetDisplayName(String displayName) voidsetDisplayOrder(Integer displayOrder) voidvoidsetResourceObject(boolean isResourceObjectClass) toString()ucfData()Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutableMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazilyMethods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutableMethods inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassDefinition
isPrimaryIdentifier, isSecondaryIdentifierMethods inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassDefinition.NativeObjectClassDefinitionBuilder
addSchemaMigration, addXmlAttributeDefinition, setAbstract, setContainerMarker, setDefaultItemTypeName, setDefaultNamespace, setDefaultReferenceTargetTypeName, setDeprecated, setDeprecatedSince, setDiagrams, setDisplayHint, setDocumentation, setEmphasized, setExperimental, setExtensionForType, setHelp, setIgnoredNamespaces, setInstantiationOrder, setListMarker, setObjectMarker, setPlannedRemoval, setReferenceMarker, setRemoved, setRemovedSince, setRuntimeSchema, setSchemaMigrations, setStrictAnyMarker, setSuperType, setXsdAnyMarkerMethods inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassUcfDefinition.Delegable
getDescriptionAttributeName, getDisplayNameAttributeName, getNamingAttributeName, getNativeObjectClassName, getPrimaryIdentifierName, getSecondaryIdentifierName, isAuxiliary, isDefaultAccountDefinition, isEmbeddedMethods inherited from interface com.evolveum.midpoint.schema.processor.NativeObjectClassUcfDefinition.Mutable.Delegable
setAuxiliary, setDefaultAccountDefinition, setDescriptionAttributeName, setDisplayNameAttributeName, setEmbedded, setNamingAttributeName, setNativeObjectClassName, setPrimaryIdentifierName, setSecondaryIdentifierName
-
Method Details
-
getName
- Specified by:
getNamein interfaceNativeObjectClassDefinition- Specified by:
getNamein interfaceNativeReferenceTypeDefinition
-
getQName
- Specified by:
getQNamein interfaceNativeObjectClassDefinition
-
isReferenceType
public boolean isReferenceType() -
setReferenceType
public void setReferenceType() -
setResourceObject
public void setResourceObject(boolean isResourceObjectClass) - Specified by:
setResourceObjectin interfaceNativeObjectClassDefinition.NativeObjectClassDefinitionBuilder
-
ucfData
- Specified by:
ucfDatain interfaceNativeObjectClassUcfDefinition.Delegable- Specified by:
ucfDatain interfaceNativeObjectClassUcfDefinition.Mutable.Delegable
-
getAttributeDefinitions
- Specified by:
getAttributeDefinitionsin interfaceNativeObjectClassDefinition
-
getSimpleAttributeDefinitions
@NotNull public @NotNull List<? extends NativeShadowSimpleAttributeDefinition<?>> getSimpleAttributeDefinitions()- Specified by:
getSimpleAttributeDefinitionsin interfaceNativeObjectClassDefinition
-
getReferenceAttributeDefinitions
@NotNull public @NotNull List<? extends NativeShadowReferenceAttributeDefinition> getReferenceAttributeDefinitions()- Specified by:
getReferenceAttributeDefinitionsin interfaceNativeObjectClassDefinition
-
add
Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilderShould provide and register compile time class.- Specified by:
addin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
findSimpleAttributeDefinition
public NativeShadowSimpleAttributeDefinition<?> findSimpleAttributeDefinition(@NotNull @NotNull QName attrName) - Specified by:
findSimpleAttributeDefinitionin interfaceNativeObjectClassDefinition
-
findReferenceAttributeDefinition
public NativeShadowReferenceAttributeDefinition findReferenceAttributeDefinition(@NotNull @NotNull QName attrName) - Specified by:
findReferenceAttributeDefinitionin interfaceNativeObjectClassDefinition
-
getSubjects
Description copied from interface:NativeReferenceTypeDefinitionShadowReferenceParticipantRole.SUBJECTparticipants in this reference. Never empty.- Specified by:
getSubjectsin interfaceNativeReferenceTypeDefinition
-
getObjects
Description copied from interface:NativeReferenceTypeDefinitionShadowReferenceParticipantRole.OBJECTparticipants in this reference. Never empty.- Specified by:
getObjectsin interfaceNativeReferenceTypeDefinition
-
addParticipant
public void addParticipant(@NotNull @NotNull String objectClassName, @Nullable @Nullable ItemName referenceAttributeName, @NotNull @NotNull ShadowReferenceParticipantRole role) - Specified by:
addParticipantin interfaceNativeReferenceTypeDefinition
-
addParticipantIfNotThere
public void addParticipantIfNotThere(@NotNull @NotNull String objectClassName, @NotNull @NotNull ShadowReferenceParticipantRole role) - Specified by:
addParticipantIfNotTherein interfaceNativeReferenceTypeDefinition
-
getTypeName
- Specified by:
getTypeNamein interfaceAbstractTypeDefinition- Specified by:
getTypeNamein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder- Specified by:
getTypeNamein interfaceSerializableComplexTypeDefinition
-
isRuntimeSchema
public boolean isRuntimeSchema()- Specified by:
isRuntimeSchemain interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
isContainerMarker
public boolean isContainerMarker()- Specified by:
isContainerMarkerin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder- Specified by:
isContainerMarkerin interfaceSerializableComplexTypeDefinition
-
setDisplayName
- Specified by:
setDisplayNamein interfacePrismPresentationDefinition.Mutable
-
setDisplayOrder
- Specified by:
setDisplayOrderin interfacePrismPresentationDefinition.Mutable
-
newPropertyLikeDefinition
public <T> NativeShadowSimpleAttributeDefinition.NativeShadowAttributeDefinitionBuilder<T> newPropertyLikeDefinition(QName elementName, QName typeName) - Specified by:
newPropertyLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder- Specified by:
newPropertyLikeDefinitionin interfaceNativeObjectClassDefinition.NativeObjectClassDefinitionBuilder
-
newContainerLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newContainerLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newContainerLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
newObjectLikeDefinition
public ItemDefinition.ItemDefinitionLikeBuilder newObjectLikeDefinition(QName itemName, AbstractTypeDefinition ctd) - Specified by:
newObjectLikeDefinitionin interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getExtraFeaturesToParse
public Collection<DefinitionFeature<?,?, getExtraFeaturesToParse()? super com.sun.xml.xsom.XSComplexType, ?>> Description copied from interface:ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilderReturns a set of "extra" features for the CTD-like definition currently being built. These are features that are not processed by the standard parser; they are known only to the upper layers. The input for parsing CTD-like definitions isXSComplexType, so they must accept it. All these features must be applicable to "this" builder. I am not sure how to state this in Java. The workaround isDefinitionFeature.asForBuilder(Class)method.- Specified by:
getExtraFeaturesToParsein interfaceComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder
-
getExtraFeaturesToSerialize
- Specified by:
getExtraFeaturesToSerializein interfaceSerializableDefinition
-
getSuperType
- Specified by:
getSuperTypein interfaceSerializableComplexTypeDefinition
-
getExtensionForType
- Specified by:
getExtensionForTypein interfaceSerializableComplexTypeDefinition
-
getDefinitionsToSerialize
@NotNull public @NotNull Collection<? extends SerializableItemDefinition> getDefinitionsToSerialize()- Specified by:
getDefinitionsToSerializein interfaceSerializableComplexTypeDefinition
-
isXsdAnyMarker
public boolean isXsdAnyMarker()- Specified by:
isXsdAnyMarkerin interfaceSerializableComplexTypeDefinition
-
isObjectMarker
public boolean isObjectMarker()- Specified by:
isObjectMarkerin interfaceSerializableComplexTypeDefinition
-
getDisplayName
- Specified by:
getDisplayNamein interfaceSerializableDefinition
-
getDisplayOrder
- Specified by:
getDisplayOrderin interfaceSerializableDefinition
-
getHelp
- Specified by:
getHelpin interfaceSerializableDefinition
-
isEmphasized
public boolean isEmphasized()- Specified by:
isEmphasizedin interfaceSerializableDefinition
-
getDisplayHint
- Specified by:
getDisplayHintin interfaceSerializableDefinition
-
getDocumentation
- Specified by:
getDocumentationin interfaceSerializableDefinition
-
getObjectBuilt
- Specified by:
getObjectBuiltin interfaceDefinitionFragmentBuilder
-
clone
- Specified by:
clonein interfaceNativeObjectClassDefinition- Overrides:
clonein classObject
-
toString
-
debugDump
- Specified by:
debugDumpin interfaceDebugDumpable
-
performFreeze
protected void performFreeze()- Overrides:
performFreezein classAbstractFreezable
-