jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMValidator.java
--- a/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMValidator.java Wed Jul 05 20:04:04 2017 +0200
+++ b/jaxp/src/java.xml/share/classes/com/sun/org/apache/xerces/internal/impl/xs/models/XSCMValidator.java Mon Oct 13 14:09:03 2014 -0700
@@ -1,13 +1,13 @@
/*
- * reserved comment block
- * DO NOT REMOVE OR ALTER!
+ * Copyright (c) 2006, 2009, Oracle and/or its affiliates. All rights reserved.
*/
/*
- * Copyright 2001-2004 The Apache Software Foundation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
@@ -23,8 +23,6 @@
import com.sun.org.apache.xerces.internal.xni.QName;
import com.sun.org.apache.xerces.internal.impl.xs.SubstitutionGroupHandler;
import com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaException;
-
-import java.util.Vector;
import java.util.ArrayList;
/**
@@ -87,24 +85,60 @@
* have been seen.
*
* @param state the current state
- * @return a Vector whose entries are instances of
+ * @return a list whose entries are instances of
* either XSWildcardDecl or XSElementDecl.
*/
- public Vector whatCanGoHere(int[] state);
+ public ArrayList whatCanGoHere(int[] state);
/**
* Used by constant space algorithm for a{n,m} for n > 1 and
* m <= unbounded. Called by a validator if validation of
* countent model succeeds after subsuming a{n,m} to a*
* (or a+) to check the n and m bounds.
- * Returns <code>null</code> if validation of bounds is
+ *
+ * @return <code>null</code> if validation of bounds is
* successful. Returns a list of strings with error info
* if not. Even entries in list returned are error codes
* (used to look up properties) and odd entries are parameters
* to be passed when formatting error message. Each parameter
- * is associated with the error code that preceeds it in
+ * is associated with the error code that proceeds it in
* the list.
*/
public ArrayList checkMinMaxBounds();
+ /**
+ * <p>Returns an array containing information about the current repeating term
+ * or <code>null</code> if no occurrence counting was being performed at the
+ * current state.</p>
+ *
+ * <p>If an array is returned it will have a length == 4 and will contain:
+ * <ul>
+ * <li>a[0] :: min occurs</li>
+ * <li>a[1] :: max occurs</li>
+ * <li>a[2] :: current value of the counter</li>
+ * <li>a[3] :: identifier for the repeating term</li>
+ * </ul>
+ * </p>
+ *
+ * @param state the current state
+ * @return an array containing information about the current repeating term
+ */
+ public int [] occurenceInfo(int[] state);
+
+ /**
+ * Returns the name of the term (element or wildcard) for the given identifier.
+ *
+ * @param termId identifier for the element declaration or wildcard
+ * @return the name of the element declaration or wildcard
+ */
+ public String getTermName(int termId);
+
+ /**
+ * Checks if this content model has had its min/maxOccurs values reduced for
+ * purposes of speeding up UPA. If so, this content model should not be used
+ * for any purpose other than checking unique particle attribution
+ *
+ * @return a boolean that says whether this content has been compacted for UPA
+ */
+ public boolean isCompactedForUPA();
} // XSCMValidator