本文整理汇总了Java中com.sun.xml.xsom.XSModelGroup类的典型用法代码示例。如果您正苦于以下问题:Java XSModelGroup类的具体用法?Java XSModelGroup怎么用?Java XSModelGroup使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
XSModelGroup类属于com.sun.xml.xsom包,在下文中一共展示了XSModelGroup类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: groupProcessing
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private void groupProcessing(
Value value,
XSElementDecl xsDecl,
SOAPElement element,
SOAPEnvelope envelope,
boolean first,
XSModelGroup modelGroup,
XSSchemaSet sSet,
String messageNamespace )
throws SOAPException
{
XSParticle[] children = modelGroup.getChildren();
XSTerm currTerm;
for( XSParticle child : children ) {
currTerm = child.getTerm();
if ( currTerm.isModelGroup() ) {
groupProcessing( value, xsDecl, element, envelope, first, currTerm.asModelGroup(), sSet, messageNamespace );
} else {
termProcessing( value, element, envelope, first, currTerm, child.getMaxOccurs(), sSet, messageNamespace );
}
}
}
示例2: groupProcessing
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private void groupProcessing( XSModelGroup modelGroup, XSParticle particle, TypeInlineDefinition jolieType )
throws ConversionException
{
XSModelGroup.Compositor compositor = modelGroup.getCompositor();
// We handle "all" and "sequence", but not "choice"
if ( compositor.equals( XSModelGroup.ALL ) || compositor.equals( XSModelGroup.SEQUENCE ) ) {
if ( compositor.equals( XSModelGroup.SEQUENCE ) ) {
log( Level.WARNING, WARNING_SEQUENCE );
}
XSParticle[] children = modelGroup.getChildren();
XSTerm currTerm;
for( int i = 0; i < children.length; i++ ) {
currTerm = children[i].getTerm();
if ( currTerm.isModelGroup() ) {
groupProcessing( currTerm.asModelGroup(), particle, jolieType );
} else {
// Create the new complex type for root types
navigateSubTypes( children[i], jolieType );
}
}
} else if ( compositor.equals( XSModelGroup.CHOICE ) ) {
throw new ConversionException( ERROR_CHOICE );
}
}
示例3: findModelGroups
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private static Collection<? extends XSDeclaration> findModelGroups(final XSComplexType complexType) {
XSContentType contentType = complexType.getExplicitContent();
if (contentType == null) {
contentType = complexType.getContentType();
}
final XSParticle particle = contentType.asParticle();
if (particle != null && !particle.isRepeated()) {
final XSTerm term = particle.getTerm();
if (term instanceof XSModelGroupDecl) {
return Collections.singletonList((XSModelGroupDecl)term);
} else {
final XSModelGroup modelGroup = term.asModelGroup();
return modelGroup != null ? findModelGroups(modelGroup) : Collections.<XSModelGroupDecl>emptyList();
}
} else {
return Collections.emptyList();
}
}
示例4: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
public Multiplicity modelGroup(XSModelGroup group) {
boolean isChoice = group.getCompositor() == XSModelGroup.CHOICE;
Multiplicity r = null;
for (XSParticle p : group.getChildren()) {
Multiplicity m = particle(p);
if (r == null) {
r = m;
continue;
}
if (isChoice) {
r = Multiplicity.choice(r, m);
} else {
r = Multiplicity.group(r, m);
}
}
if (r == null)
{
return ZERO;
}
return r;
}
示例5: _valueToDocument
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private static void _valueToDocument( Value value, Element element, Document doc, XSType type )
{
if ( type.isSimpleType() ) {
element.appendChild( doc.createTextNode( value.strValue() ) );
} else if ( type.isComplexType() ) {
String name;
Value currValue;
XSComplexType complexType = type.asComplexType();
// Iterate over attributes
Collection< ? extends XSAttributeUse > attributeUses = complexType.getAttributeUses();
for( XSAttributeUse attrUse : attributeUses ) {
name = attrUse.getDecl().getName();
if ( (currValue=getAttributeOrNull( value, name )) != null ) {
element.setAttribute( name, currValue.strValue() );
}
}
XSContentType contentType = complexType.getContentType();
XSParticle particle = contentType.asParticle();
if ( contentType.asSimpleType() != null ) {
element.appendChild( doc.createTextNode( value.strValue() ) );
} else if ( particle != null ) {
XSTerm term = particle.getTerm();
XSModelGroupDecl modelGroupDecl;
XSModelGroup modelGroup = null;
if ( (modelGroupDecl=term.asModelGroupDecl()) != null ) {
modelGroup = modelGroupDecl.getModelGroup();
} else if ( term.isModelGroup() ) {
modelGroup = term.asModelGroup();
}
if ( modelGroup != null ) {
_valueToDocument( value, element, doc, modelGroup );
}
}
}
}
示例6: loadComplexType
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private TypeDefinition loadComplexType( XSComplexType complexType, boolean lazy, TypeDefinition lazyType )
throws ConversionException
{
XSParticle particle;
XSContentType contentType;
contentType = complexType.getContentType();
if ( (particle = contentType.asParticle()) == null ) {
return null;//createAnyOrUndefined( complexType.getName(), complexType );
}
TypeInlineDefinition jolieType;
if ( lazy ) {
jolieType = (TypeInlineDefinition) lazyType;
} else {
jolieType = createComplexType( complexType, complexType.getName().replace("-","_") + TYPE_SUFFIX, particle );
}
if ( contentType.asSimpleType() != null ) {
checkStrictModeForSimpleType( contentType );
} else if ( (particle = contentType.asParticle()) != null ) {
XSTerm term = particle.getTerm();
XSModelGroupDecl modelGroupDecl = null;
XSModelGroup modelGroup = null;
modelGroup = getModelGroup( modelGroupDecl, term );
if ( modelGroup != null ) {
groupProcessing( modelGroup, particle, jolieType );
}
}
return jolieType;
}
示例7: getModelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private XSModelGroup getModelGroup( XSModelGroupDecl modelGroupDecl, XSTerm term )
{
if ( (modelGroupDecl = term.asModelGroupDecl()) != null ) {
return modelGroupDecl.getModelGroup();
} else if ( term.isModelGroup() ) {
return term.asModelGroup();
} else {
return null;
}
}
示例8: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
/**
* Creates node for model group with additional attributes.
*
* @param group Model group.
* @param extraAtts Additional attributes.
*/
private void modelGroup(XSModelGroup group, String extraAtts) {
SchemaTreeNode newNode = new SchemaTreeNode(MessageFormat.format(
"{0}{1}", new Object[]{group.getCompositor(), extraAtts}),
group.getLocator());
this.currNode.add(newNode);
this.currNode = newNode;
final int len = group.getSize();
for (int i = 0; i < len; i++) {
particle(group.getChild(i));
}
this.currNode = (SchemaTreeNode) this.currNode.getParent();
}
示例9: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private void modelGroup( XSModelGroup group, String extraAtts ) {
println(MessageFormat.format("<{0}{1}>",
new Object[]{ group.getCompositor(), extraAtts }));
indent++;
final int len = group.getSize();
for( int i=0; i<len; i++ )
particle(group.getChild(i));
indent--;
println(MessageFormat.format("</{0}>",
new Object[]{ group.getCompositor() }));
}
示例10: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
public Iterator<T> modelGroup(XSModelGroup group) {
// compensate for particles that are ignored in SCD
return new Iterators.Map<T,XSParticle>(group.iterator()) {
protected Iterator<? extends T> apply(XSParticle p) {
return particle(p);
}
};
}
示例11: descendants
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
/**
* Iterate all descendant model groups of the given model group, including itself.
*/
private Iterator<XSComponent> descendants(XSModelGroup mg) {
// TODO: write a tree iterator
// for now, we do it eagerly because I'm lazy
List<XSComponent> r = new ArrayList<XSComponent>();
visit(mg,r);
return r.iterator();
}
示例12: visit
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private void visit(XSModelGroup mg, List<XSComponent> r) {
// since model groups never form a cycle, no cycle check is needed
r.add(mg);
for (XSParticle p : mg) {
XSModelGroup child = p.getTerm().asModelGroup();
if(child!=null)
visit(child,r);
}
}
示例13: filter
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private Iterator<XSModelGroup> filter(XSModelGroup mg) {
if(mg==null)
return empty();
if(mg.getCompositor() == compositor || compositor == null)
return singleton(mg);
else
return empty();
}
示例14: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
public void modelGroup(XSModelGroup group)
{
for (XSParticle particle : group.getChildren())
{
particle.visit(this);
}
}
示例15: modelGroup
import com.sun.xml.xsom.XSModelGroup; //导入依赖的package包/类
private void modelGroup( XSModelGroup group, String extraAtts ) {
println(MessageFormat.format("<{0}{1}>", group.getCompositor(), extraAtts));
indent++;
final int len = group.getSize();
for( int i=0; i<len; i++ )
particle(group.getChild(i));
indent--;
println(MessageFormat.format("</{0}>", group.getCompositor()));
}