/** * Method getDerivedTypes * * @param type * @param types * @param symbolTable */ private static void getDerivedTypes(TypeEntry type, HashSet types, SymbolTable symbolTable) { // If all types are in the set, return if (types.size() == symbolTable.getTypeEntryCount()) { return; } // Search the dictionary for derived types of type for (Iterator it = symbolTable.getTypeIndex().values().iterator(); it.hasNext();) { Type t = (Type) it.next(); if ((t instanceof DefinedType) && (t.getNode() != null) && !types.contains(t) && (((DefinedType) t).getComplexTypeExtensionBase(symbolTable) == type)) { types.add(t); getDerivedTypes(t, types, symbolTable); } } } // getDerivedTypes
/** * Get a TypeEntry for the base type of this type, if one exists. * * @param symbolTable a <code>SymbolTable</code> value * @return a <code>TypeEntry</code> value */ public TypeEntry getComplexTypeExtensionBase(SymbolTable symbolTable) { if(!searchedForExtensionBase) { if (null == extensionBase) { extensionBase = SchemaUtils.getComplexElementExtensionBase(getNode(), symbolTable); } searchedForExtensionBase = true; } return extensionBase; } }
private ComplexTypeDescriptor constructComplexType(DefinedType type) { ComplexTypeDescriptor result = new ComplexTypeDescriptor(); if (cachedComplexTypes.get(type.getQName().toString()) != null) { result = copyFromCache(type.getQName().toString()); } else { result.setType(type.getQName().getLocalPart()); cachedComplexTypes.put(type.getQName().toString(), result); List containedElements = type.getContainedElements(); if (containedElements != null) { result.getElements().addAll( constructElements(containedElements)); } result.setQname(type.getQName()); } return result; }
defType = new DefinedType(qName, refType, node, dims); te = new DefinedType(qName, node);
defType = new DefinedType(qName, refType, node, dims); te = new DefinedType(qName, node);
/** * Get a TypeEntry for the base type of this type, if one exists. * * @param symbolTable a <code>SymbolTable</code> value * @return a <code>TypeEntry</code> value */ public TypeEntry getComplexTypeExtensionBase(SymbolTable symbolTable) { if(!searchedForExtensionBase) { if (null == extensionBase) { extensionBase = SchemaUtils.getComplexElementExtensionBase(getNode(), symbolTable); } searchedForExtensionBase = true; } return extensionBase; } }
/** * Method getDerivedTypes * * @param type * @param types * @param symbolTable */ private static void getDerivedTypes(TypeEntry type, HashSet types, SymbolTable symbolTable) { // If all types are in the set, return if (types.size() == symbolTable.getTypeEntryCount()) { return; } // Search the dictionary for derived types of type for (Iterator it = symbolTable.getTypeIndex().values().iterator(); it.hasNext();) { Type t = (Type) it.next(); if ((t instanceof DefinedType) && (t.getNode() != null) && !types.contains(t) && (((DefinedType) t).getComplexTypeExtensionBase(symbolTable) == type)) { types.add(t); getDerivedTypes(t, types, symbolTable); } } } // getDerivedTypes
defType = new DefinedType(qName, refType, node, dims); te = new DefinedType(qName, node);
/** * Get a TypeEntry for the base type of this type, if one exists. * * @param symbolTable a <code>SymbolTable</code> value * @return a <code>TypeEntry</code> value */ public TypeEntry getComplexTypeExtensionBase(SymbolTable symbolTable) { if(!searchedForExtensionBase) { if (null == extensionBase) { extensionBase = SchemaUtils.getComplexElementExtensionBase(getNode(), symbolTable); } searchedForExtensionBase = true; } return extensionBase; } }
/** * Method getDerivedTypes * * @param type * @param types * @param symbolTable */ private static void getDerivedTypes(TypeEntry type, HashSet types, SymbolTable symbolTable) { // If all types are in the set, return if (types.size() == symbolTable.getTypeEntryCount()) { return; } // Search the dictionary for derived types of type for (Iterator it = symbolTable.getTypeIndex().values().iterator(); it.hasNext();) { Type t = (Type) it.next(); if ((t instanceof DefinedType) && (t.getNode() != null) && !types.contains(t) && (((DefinedType) t).getComplexTypeExtensionBase(symbolTable) == type)) { types.add(t); getDerivedTypes(t, types, symbolTable); } } } // getDerivedTypes