Class SchemaDefinitionFactory
- java.lang.Object
-
- com.evolveum.midpoint.prism.impl.schema.SchemaDefinitionFactory
-
- Direct Known Subclasses:
MidPointSchemaDefinitionFactory
public class SchemaDefinitionFactory extends Object
- Author:
- semancik
-
-
Constructor Summary
Constructors Constructor Description SchemaDefinitionFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addExtraComplexTypeAnnotations(ComplexTypeDefinition definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a complexType DOM model.void
addExtraPropertyAnnotations(PrismPropertyDefinition<?> definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a property DOM model.void
addExtraReferenceAnnotations(PrismReferenceDefinition definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a reference DOM model.MutableComplexTypeDefinition
createComplexTypeDefinition(com.sun.xml.xsom.XSComplexType complexType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
<C extends Containerable>
PrismContainerDefinitionImpl<C>createContainerDefinition(QName elementName, ComplexTypeDefinition complexTypeDefinition, Class<C> compileTimeClass, QName definedInType)
SimpleTypeDefinitionImpl
createEnumerationTypeDefinition(com.sun.xml.xsom.XSSimpleType simpleType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
<C extends Containerable>
PrismContainerDefinition<C>createExtraDefinitionFromComplexType(com.sun.xml.xsom.XSComplexType complexType, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
Create optional extra definition form a top-level complex type definition.<T extends Objectable>
PrismObjectDefinitionImpl<T>createObjectDefinition(QName elementName, ComplexTypeDefinition complexTypeDefinition, Class<T> compileTimeClass)
<T> PrismPropertyDefinition<T>
createPropertyDefinition(QName elementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle)
<T> MutablePrismPropertyDefinition<T>
createPropertyDefinition(QName elementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle, Collection<? extends DisplayableValue<T>> allowedValues, T defaultValue)
PrismReferenceDefinition
createReferenceDefinition(QName primaryElementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle)
SimpleTypeDefinition
createSimpleTypeDefinition(com.sun.xml.xsom.XSSimpleType simpleType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
void
finishComplexTypeDefinition(ComplexTypeDefinition complexTypeDefinition, com.sun.xml.xsom.XSComplexType complexType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
Called after the complex type definition is filled with items.
-
-
-
Method Detail
-
createComplexTypeDefinition
public MutableComplexTypeDefinition createComplexTypeDefinition(com.sun.xml.xsom.XSComplexType complexType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation) throws SchemaException
- Throws:
SchemaException
-
createSimpleTypeDefinition
public SimpleTypeDefinition createSimpleTypeDefinition(com.sun.xml.xsom.XSSimpleType simpleType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation) throws SchemaException
- Throws:
SchemaException
-
createPropertyDefinition
public <T> PrismPropertyDefinition<T> createPropertyDefinition(QName elementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle) throws SchemaException
- Throws:
SchemaException
-
createPropertyDefinition
public <T> MutablePrismPropertyDefinition<T> createPropertyDefinition(QName elementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle, Collection<? extends DisplayableValue<T>> allowedValues, T defaultValue) throws SchemaException
- Throws:
SchemaException
-
createReferenceDefinition
public PrismReferenceDefinition createReferenceDefinition(QName primaryElementName, QName typeName, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation, com.sun.xml.xsom.XSParticle elementParticle) throws SchemaException
- Throws:
SchemaException
-
createContainerDefinition
public <C extends Containerable> PrismContainerDefinitionImpl<C> createContainerDefinition(QName elementName, ComplexTypeDefinition complexTypeDefinition, Class<C> compileTimeClass, QName definedInType) throws SchemaException
- Throws:
SchemaException
-
createObjectDefinition
public <T extends Objectable> PrismObjectDefinitionImpl<T> createObjectDefinition(QName elementName, ComplexTypeDefinition complexTypeDefinition, Class<T> compileTimeClass) throws SchemaException
- Throws:
SchemaException
-
createExtraDefinitionFromComplexType
public <C extends Containerable> PrismContainerDefinition<C> createExtraDefinitionFromComplexType(com.sun.xml.xsom.XSComplexType complexType, ComplexTypeDefinition complexTypeDefinition, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation) throws SchemaException
Create optional extra definition form a top-level complex type definition. This is used e.g. to create object class definitions in midPoint- Throws:
SchemaException
-
finishComplexTypeDefinition
public void finishComplexTypeDefinition(ComplexTypeDefinition complexTypeDefinition, com.sun.xml.xsom.XSComplexType complexType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation) throws SchemaException
Called after the complex type definition is filled with items. It may be used to finish building the definition, e.g. by adding data that depends on existing internal definitions.- Throws:
SchemaException
-
addExtraComplexTypeAnnotations
public void addExtraComplexTypeAnnotations(ComplexTypeDefinition definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a complexType DOM model. Used when serializing schema to DOM.
-
addExtraPropertyAnnotations
public void addExtraPropertyAnnotations(PrismPropertyDefinition<?> definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a property DOM model. Used when serializing schema to DOM.
-
addExtraReferenceAnnotations
public void addExtraReferenceAnnotations(PrismReferenceDefinition definition, Element appinfo, SchemaToDomProcessor schemaToDomProcessor)
Add extra annotations to a reference DOM model. Used when serializing schema to DOM.
-
createEnumerationTypeDefinition
public SimpleTypeDefinitionImpl createEnumerationTypeDefinition(com.sun.xml.xsom.XSSimpleType simpleType, PrismContext prismContext, com.sun.xml.xsom.XSAnnotation annotation)
-
-