Top Description Fields Constructors Methods
org.apache.xerces.impl.xs.models

public Class CMBuilder

extends Object
Class Inheritance
Imports
org.apache.xerces.impl.dtd.models.CMNode, org.apache.xerces.impl.xs.SchemaSymbols, .XSComplexTypeDecl, .XSDeclarationPool, .XSElementDecl, .XSModelGroupImpl, .XSParticleDecl

This class constructs content models for a given grammar.
Authors
Elena Litani, IBM, Sandy Gao, IBM
Version
$Id: CMBuilder.java 573322 2007-09-06 16:48:47Z peterjm $

Field Summary

Modifier and TypeField and Description
private XSDeclarationPool
private static final XSEmptyCM
private int
private final CMNodeFactory
private int

Constructor Summary

AccessConstructor and Description
public
CMBuilder(CMNodeFactory nodeFactory)

Method Summary

Modifier and TypeMethod and Description
private CMNode
private CMNode
buildCompactSyntaxTree2(XSParticleDecl particle, int minOccurs, int maxOccurs)

private CMNode
buildSyntaxTree(XSParticleDecl particle, boolean forUPA)

private CMNode
pack-priv XSCMValidator
pack-priv XSCMValidator
createDFACM(XSParticleDecl particle, boolean forUPA)

private CMNode
expandContentModel(CMNode node, int minOccurs, int maxOccurs)

public XSCMValidator

Returns:

a content model validator
getContentModel
(XSComplexTypeDecl
get content model for which complex type
typeDecl
,
boolean forUPA)

Get content model for the a given type

private CMNode
multiNodes(CMNode node, int num, boolean copyFirst)

public void
private boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

fDeclPoolback to summary
private XSDeclarationPool fDeclPool
fEmptyCMback to summary
private static final XSEmptyCM fEmptyCM
fLeafCountback to summary
private int fLeafCount
fNodeFactoryback to summary
private final CMNodeFactory fNodeFactory
fParticleCountback to summary
private int fParticleCount

Constructor Detail

CMBuilderback to summary
public CMBuilder(CMNodeFactory nodeFactory)

Method Detail

buildCompactSyntaxTreeback to summary
private CMNode buildCompactSyntaxTree(XSParticleDecl particle)
buildCompactSyntaxTree2back to summary
private CMNode buildCompactSyntaxTree2(XSParticleDecl particle, int minOccurs, int maxOccurs)
buildSyntaxTreeback to summary
private CMNode buildSyntaxTree(XSParticleDecl particle, boolean forUPA)
copyNodeback to summary
private CMNode copyNode(CMNode node)
createAllCMback to summary
pack-priv XSCMValidator createAllCM(XSParticleDecl particle)
createDFACMback to summary
pack-priv XSCMValidator createDFACM(XSParticleDecl particle, boolean forUPA)
expandContentModelback to summary
private CMNode expandContentModel(CMNode node, int minOccurs, int maxOccurs)
getContentModelback to summary
public XSCMValidator getContentModel(XSComplexTypeDecl typeDecl, boolean forUPA)

Get content model for the a given type

Parameters
typeDecl:XSComplexTypeDecl

get content model for which complex type

Returns:XSCMValidator

a content model validator

multiNodesback to summary
private CMNode multiNodes(CMNode node, int num, boolean copyFirst)
setDeclPoolback to summary
public void setDeclPool(XSDeclarationPool declPool)
useRepeatingLeafNodesback to summary
private boolean useRepeatingLeafNodes(XSParticleDecl particle)