Class NativeResourceSchemaImpl
java.lang.Object
com.evolveum.midpoint.prism.AbstractFreezable
com.evolveum.midpoint.schema.processor.NativeResourceSchemaImpl
- All Implemented Interfaces:
Freezable
,SchemaBuilder
,SerializableSchema
,NativeResourceSchema
,NativeResourceSchema.NativeResourceSchemaBuilder
,DebugDumpable
,Serializable
,Cloneable
public class NativeResourceSchemaImpl
extends AbstractFreezable
implements NativeResourceSchema, NativeResourceSchema.NativeResourceSchemaBuilder
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from interface com.evolveum.midpoint.schema.processor.NativeResourceSchema
NativeResourceSchema.NativeResourceSchemaBuilder
-
Field Summary
Fields inherited from interface com.evolveum.midpoint.util.DebugDumpable
INDENT_STRING
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(@NotNull Definition.DefinitionBuilder builder) Adds the definition corresponding to provided builder - potentially incomplete - to the schema.void
Some containers cannot be added to the schema immediately, because their CTD is not yet parsed.@NotNull NativeResourceSchemaImpl
clone()
void
Transforms references between object classes into a collection of reference types.debugDump
(int indent) findObjectClassDefinition
(@NotNull QName objectClassName) findReferenceTypeDefinition
(@NotNull QName name) findTypeDefinitionByType
(@NotNull QName typeName) Returns existing type definition (if there's one) in the schema being built.@NotNull Collection<? extends SerializableDefinition>
@NotNull String
All top-level definitions (types, items) are in this namespace.@NotNull NativeResourceSchema
@NotNull Collection<? extends NativeObjectClassDefinition>
@NotNull Collection<? extends NativeReferenceTypeDefinition>
boolean
newComplexTypeDefinitionLikeBuilder
(String localTypeName) Returns the builder for complex type definition; does not add anything to the schema (yet).protected void
@NotNull Document
void
setRuntime
(boolean value) int
size()
toString()
Methods inherited from class com.evolveum.midpoint.prism.AbstractFreezable
freeze, freeze, freezeAll, freezeNullableList, isImmutable, isMutable
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.evolveum.midpoint.util.DebugDumpable
debugDump, debugDumpLazily, debugDumpLazily
Methods inherited from interface com.evolveum.midpoint.prism.Freezable
checkImmutable, checkMutable, freeze, isImmutable
Methods inherited from interface com.evolveum.midpoint.schema.processor.NativeResourceSchema
isEmpty
-
Constructor Details
-
NativeResourceSchemaImpl
public NativeResourceSchemaImpl()
-
-
Method Details
-
findObjectClassDefinition
public NativeObjectClassDefinition findObjectClassDefinition(@NotNull @NotNull QName objectClassName) - Specified by:
findObjectClassDefinition
in interfaceNativeResourceSchema
-
findReferenceTypeDefinition
- Specified by:
findReferenceTypeDefinition
in interfaceNativeResourceSchema
-
getObjectClassDefinitions
@NotNull public @NotNull Collection<? extends NativeObjectClassDefinition> getObjectClassDefinitions()- Specified by:
getObjectClassDefinitions
in interfaceNativeResourceSchema
-
getReferenceTypeDefinitions
@NotNull public @NotNull Collection<? extends NativeReferenceTypeDefinition> getReferenceTypeDefinitions()- Specified by:
getReferenceTypeDefinitions
in interfaceNativeResourceSchema
-
getDefinitionsToSerialize
- Specified by:
getDefinitionsToSerialize
in interfaceSerializableSchema
-
size
public int size()- Specified by:
size
in interfaceNativeResourceSchema
-
newComplexTypeDefinitionLikeBuilder
@NotNull public @NotNull NativeObjectClassDefinition.NativeObjectClassDefinitionBuilder newComplexTypeDefinitionLikeBuilder(String localTypeName) Description copied from interface:SchemaBuilder
Returns the builder for complex type definition; does not add anything to the schema (yet). We use this one instead of simply creating a newComplexTypeDefinition
using theDefinitionFactory
in order to be able to build non-prism definitions, i.e., ones that are not ofDefinition
type.- Specified by:
newComplexTypeDefinitionLikeBuilder
in interfaceNativeResourceSchema.NativeResourceSchemaBuilder
- Specified by:
newComplexTypeDefinitionLikeBuilder
in interfaceSchemaBuilder
-
getObjectBuilt
- Specified by:
getObjectBuilt
in interfaceNativeResourceSchema.NativeResourceSchemaBuilder
-
computeReferenceTypes
Transforms references between object classes into a collection of reference types.- Specified by:
computeReferenceTypes
in interfaceNativeResourceSchema.NativeResourceSchemaBuilder
- Throws:
SchemaException
-
add
Description copied from interface:SchemaBuilder
Adds the definition corresponding to provided builder - potentially incomplete - to the schema.- Specified by:
add
in interfaceSchemaBuilder
-
clone
- Specified by:
clone
in interfaceNativeResourceSchema
- Overrides:
clone
in classObject
-
serializeToXsd
- Specified by:
serializeToXsd
in interfaceNativeResourceSchema
- Throws:
SchemaException
-
getNamespace
Description copied from interface:SerializableSchema
All top-level definitions (types, items) are in this namespace.- Specified by:
getNamespace
in interfaceSchemaBuilder
- Specified by:
getNamespace
in interfaceSerializableSchema
-
findTypeDefinitionByType
Description copied from interface:SchemaBuilder
Returns existing type definition (if there's one) in the schema being built. This is used when types can be referenced by other types, e.g., in the case of complex types. Its implementation is optional; currently, it is used only in genuine prism schemas.- Specified by:
findTypeDefinitionByType
in interfaceSchemaBuilder
-
isRuntime
public boolean isRuntime()- Specified by:
isRuntime
in interfaceSchemaBuilder
-
setRuntime
public void setRuntime(boolean value) - Specified by:
setRuntime
in interfaceSchemaBuilder
-
addDelayedItemDefinition
Description copied from interface:SchemaBuilder
Some containers cannot be added to the schema immediately, because their CTD is not yet parsed. This can occur when multiple schemas with circular dependencies are present. So we add them only after all the schemas are parsed.- Specified by:
addDelayedItemDefinition
in interfaceSchemaBuilder
-
debugDump
- Specified by:
debugDump
in interfaceDebugDumpable
-
toString
-
performFreeze
protected void performFreeze()- Overrides:
performFreeze
in classAbstractFreezable
-