Methods Summary |
---|
public XSAnnotation | getAnnotation()Optional. Annotation.
return (fAnnotations != null) ? (XSAnnotation) fAnnotations.item(0) : null;
|
public XSObjectList | getAnnotations()Optional. Annotations.
return (fAnnotations != null) ? fAnnotations : XSObjectListImpl.EMPTY_LIST;
|
public short | getCompositor(){compositor} One of all, choice or sequence. The valid constants values
are: ALL, CHOICE, SEQUENCE.
if (fCompositor == MODELGROUP_CHOICE)
return XSModelGroup.COMPOSITOR_CHOICE;
else if (fCompositor == MODELGROUP_SEQUENCE)
return XSModelGroup.COMPOSITOR_SEQUENCE;
else
return XSModelGroup.COMPOSITOR_ALL;
|
public java.lang.String | getName()The name of this XSObject depending on the
XSObject type.
return null;
|
public java.lang.String | getNamespace()The namespace URI of this node, or null if it is
unspecified. defines how a namespace URI is attached to schema
components.
return null;
|
public XSNamespaceItem | getNamespaceItem()
return null;
|
public XSObjectList | getParticles(){particles} A list of particles
return new XSObjectListImpl(fParticles, fParticleCount);
|
public short | getType()Get the type of the object, i.e ELEMENT_DECLARATION.
return XSConstants.MODEL_GROUP;
|
public boolean | isEmpty()
// whether this model group contains nothing
for (int i = 0; i < fParticleCount; i++) {
if (!fParticles[i].isEmpty())
return false;
}
return true;
|
public int | maxEffectiveTotalRange()
if (fCompositor == MODELGROUP_CHOICE)
return maxEffectiveTotalRangeChoice();
else
return maxEffectiveTotalRangeAllSeq();
|
private int | maxEffectiveTotalRangeAllSeq()
int total = 0, one;
for (int i = 0; i < fParticleCount; i++) {
one = fParticles[i].maxEffectiveTotalRange();
if (one == SchemaSymbols.OCCURRENCE_UNBOUNDED)
return SchemaSymbols.OCCURRENCE_UNBOUNDED;
total += one;
}
return total;
|
private int | maxEffectiveTotalRangeChoice()
int max = 0, one;
if (fParticleCount > 0) {
max = fParticles[0].maxEffectiveTotalRange();
if (max == SchemaSymbols.OCCURRENCE_UNBOUNDED)
return SchemaSymbols.OCCURRENCE_UNBOUNDED;
}
for (int i = 1; i < fParticleCount; i++) {
one = fParticles[i].maxEffectiveTotalRange();
if (one == SchemaSymbols.OCCURRENCE_UNBOUNDED)
return SchemaSymbols.OCCURRENCE_UNBOUNDED;
if (one > max)
max = one;
}
return max;
|
public int | minEffectiveTotalRange()3.8.6 Effective Total Range (all and sequence) and
Effective Total Range (choice)
The following methods are used to return min/max range for a particle.
They are not exactly the same as it's described in the spec, but all the
values from the spec are retrievable by these methods.
if (fCompositor == MODELGROUP_CHOICE)
return minEffectiveTotalRangeChoice();
else
return minEffectiveTotalRangeAllSeq();
|
private int | minEffectiveTotalRangeAllSeq()
int total = 0;
for (int i = 0; i < fParticleCount; i++)
total += fParticles[i].minEffectiveTotalRange();
return total;
|
private int | minEffectiveTotalRangeChoice()
int min = 0, one;
if (fParticleCount > 0)
min = fParticles[0].minEffectiveTotalRange();
for (int i = 1; i < fParticleCount; i++) {
one = fParticles[i].minEffectiveTotalRange();
if (one < min)
min = one;
}
return min;
|
public void | reset()
fCompositor = MODELGROUP_SEQUENCE;
fParticles = null;
fParticleCount = 0;
fDescription = null;
fAnnotations = null;
|
public java.lang.String | toString()
// REVISIT: Commented code may help to eliminate redundant parentheses (test first before committing)
if (fDescription == null) {
StringBuffer buffer = new StringBuffer();
if (fCompositor == MODELGROUP_ALL)
buffer.append("all(");
else //if (fMinOccurs != 1 || fMaxOccurs != 1)
buffer.append('(");
if (fParticleCount > 0)
buffer.append(fParticles[0].toString());
for (int i = 1; i < fParticleCount; i++) {
if (fCompositor == MODELGROUP_CHOICE)
buffer.append('|");
else
buffer.append(',");
buffer.append(fParticles[i].toString());
}
//if (fCompositor == MODELGROUP_ALL || fMinOccurs != 1 || fMaxOccurs != 1)
buffer.append(')");
fDescription = buffer.toString();
}
return fDescription;
|