@Override public ComplexTypeDefinition createComplexTypeDefinition(QName typeName) { ComplexTypeDefinition cTypeDef = new ComplexTypeDefinitionImpl(typeName, prismContext); add(cTypeDef); return cTypeDef; }
private void resolveMissingTypeDefinitionsInGlobalItemDefinitions(PrismSchemaImpl schema) throws SchemaException { for (Iterator<DefinitionSupplier> iterator = schema.getDelayedItemDefinitions().iterator(); iterator.hasNext(); ) { DefinitionSupplier definitionSupplier = iterator.next(); Definition definition = definitionSupplier.get(); if (definition != null) { schema.add(definition); } iterator.remove(); } }
/** * Creates a top-level property definition and adds it to the schema. * * This is a preferred way how to create definition in the schema. * * @param name * element name * @param typeName * XSD type name of the element * @return new property definition */ @Override public PrismPropertyDefinition createPropertyDefinition(QName name, QName typeName) { PrismPropertyDefinition def = new PrismPropertyDefinitionImpl(name, typeName, prismContext); add(def); return def; }
@Override public PrismContainerDefinitionImpl createPropertyContainerDefinition(String localElementName, String localTypeName) { QName typeName = new QName(getNamespace(), localTypeName); QName name = new QName(getNamespace(), localElementName); ComplexTypeDefinition cTypeDef = findComplexTypeDefinitionByType(typeName); if (cTypeDef == null) { cTypeDef = new ComplexTypeDefinitionImpl(typeName, prismContext); add(cTypeDef); } PrismContainerDefinitionImpl def = new PrismContainerDefinitionImpl(name, cTypeDef, prismContext); add(def); return def; }
/** * Creates a new property container definition and adds it to the schema. * * This is a preferred way how to create definition in the schema. * * @param localTypeName * type name "relative" to schema namespace * @return new property container definition */ @Override public PrismContainerDefinitionImpl createPropertyContainerDefinition(String localTypeName) { QName typeName = new QName(getNamespace(), localTypeName); QName name = new QName(getNamespace(), toElementName(localTypeName)); ComplexTypeDefinition cTypeDef = new ComplexTypeDefinitionImpl(typeName, prismContext); PrismContainerDefinitionImpl def = new PrismContainerDefinitionImpl(name, cTypeDef, prismContext); add(cTypeDef); add(def); return def; }