Interface SchemaBuilder
- All Known Subinterfaces:
NativeResourceSchema.NativeResourceSchemaBuilder
- All Known Implementing Classes:
BareResourceSchemaImpl
,CompleteResourceSchemaImpl
,ConnectorSchemaImpl
,NativeResourceSchemaImpl
,com.evolveum.midpoint.prism.impl.schema.PrismSchemaImpl
,ResourceSchemaImpl
public interface SchemaBuilder
Builds both prism and non-prism schemas.
-
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.findTypeDefinitionByType
(@NotNull QName typeName) Returns existing type definition (if there's one) in the schema being built.@NotNull String
Namespace of the schema that is being built.boolean
newComplexTypeDefinitionLikeBuilder
(String localTypeName) Returns the builder for complex type definition; does not add anything to the schema (yet).void
setRuntime
(boolean value)
-
Method Details
-
getNamespace
Namespace of the schema that is being built. -
newComplexTypeDefinitionLikeBuilder
@NotNull @NotNull ComplexTypeDefinition.ComplexTypeDefinitionLikeBuilder newComplexTypeDefinitionLikeBuilder(String localTypeName) 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. -
add
Adds the definition corresponding to provided builder - potentially incomplete - to the schema. -
addDelayedItemDefinition
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. -
findTypeDefinitionByType
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. -
isRuntime
boolean isRuntime() -
setRuntime
void setRuntime(boolean value)
-