You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2020/09/27 21:25:33 UTC
svn commit: r1882074 [3/6] - in
/xmlbeans/trunk/src/main/java/org/apache/xmlbeans: ./ impl/common/
impl/schema/ impl/values/
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSet.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSet.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSet.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSet.java Sun Sep 27 21:25:33 2020
@@ -16,12 +16,10 @@
package org.apache.xmlbeans;
import javax.xml.namespace.QName;
-
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Collections;
import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
/**
* This interface represents a lattice of finite and infinite sets of QNames.
@@ -66,106 +64,111 @@ import java.util.Arrays;
*
* @see QNameSetBuilder
*/
-public final class QNameSet implements QNameSetSpecification, java.io.Serializable
-{
+public final class QNameSet implements QNameSetSpecification, java.io.Serializable {
private static final long serialVersionUID = 1L;
-
+
private final boolean _inverted;
- private final Set _includedURIs;
- private final Set _excludedQNames;
- private final Set _includedQNames;
+ private final Set<String> _includedURIs;
+ private final Set<QName> _excludedQNames;
+ private final Set<QName> _includedQNames;
/**
* The empty QNameSet.
*/
- public static final QNameSet EMPTY = new QNameSet(null, Collections.EMPTY_SET, Collections.EMPTY_SET, Collections.EMPTY_SET);
+ public static final QNameSet EMPTY = new QNameSet(null, Collections.emptySet(), Collections.emptySet(), Collections.emptySet());
/**
* The QNameSet containing all QNames.
*/
- public static final QNameSet ALL = new QNameSet(Collections.EMPTY_SET, null, Collections.EMPTY_SET, Collections.EMPTY_SET);
+ public static final QNameSet ALL = new QNameSet(Collections.emptySet(), null, Collections.emptySet(), Collections.emptySet());
/**
* The QNameSet containing all QNames in the local (no-)namespace.
*/
- public static final QNameSet LOCAL = new QNameSet(null, Collections.singleton(""), Collections.EMPTY_SET, Collections.EMPTY_SET);
+ public static final QNameSet LOCAL = new QNameSet(null, Collections.singleton(""), Collections.emptySet(), Collections.emptySet());
/**
* The QNameSet containing all QNames except for those in the local (no-)namespace.
*/
- public static final QNameSet NONLOCAL = new QNameSet(Collections.singleton(""), null, Collections.EMPTY_SET, Collections.EMPTY_SET);
+ public static final QNameSet NONLOCAL = new QNameSet(Collections.singleton(""), null, Collections.emptySet(), Collections.emptySet());
/**
* Private function to minimize object creation when copying sets.
*/
- private static Set minSetCopy(Set original)
- {
- if (original == null)
+ private static <T> Set<T> minSetCopy(Set<T> original) {
+ if (original == null) {
return null;
- if (original.isEmpty())
- return Collections.EMPTY_SET;
- if (original.size() == 1)
+ }
+ if (original.isEmpty()) {
+ return Collections.emptySet();
+ }
+ if (original.size() == 1) {
return Collections.singleton(original.iterator().next());
- return new HashSet(original);
+ }
+ return new HashSet<>(original);
}
/**
* Returns a QNameSet based on the given sets of excluded URIs,
* included URIs, excluded QNames in included namespaces, and included
* QNames in excluded namespaces.
- *
- * @param excludedURIs the finite set of namespace URI strings to exclude from the set, or null if this set is infinite
- * @param includedURIs the finite set of namespace URI strings to include in the set, or null if this set is infinite
+ *
+ * @param excludedURIs the finite set of namespace URI strings to exclude from the set, or null if this set is infinite
+ * @param includedURIs the finite set of namespace URI strings to include in the set, or null if this set is infinite
* @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to exclude from the included namespaces
- * @param excludedQNamesInIncludedURIs the finite set of exceptional QNames to include that are in the excluded namespaces
- *
+ * @param includedQNamesInExcludedURIs the finite set of exceptional QNames to include that are in the excluded namespaces
* @return the constructed QNameSet
*/
- public static QNameSet forSets(Set excludedURIs, Set includedURIs, Set excludedQNamesInIncludedURIs, Set includedQNamesInExcludedURIs)
- {
- if ((excludedURIs != null) == (includedURIs != null))
+ public static QNameSet forSets(Set<String> excludedURIs, Set<String> includedURIs, Set<QName> excludedQNamesInIncludedURIs, Set<QName> includedQNamesInExcludedURIs) {
+ if ((excludedURIs != null) == (includedURIs != null)) {
throw new IllegalArgumentException("Exactly one of excludedURIs and includedURIs must be null");
+ }
- if (excludedURIs == null && includedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty())
+ if (excludedURIs == null && includedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty()) {
return EMPTY;
- if (includedURIs == null && excludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty())
+ }
+ if (includedURIs == null && excludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty()) {
return ALL;
+ }
if (excludedURIs == null && includedURIs.size() == 1 && includedURIs.contains("") &&
- includedQNamesInExcludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty())
+ includedQNamesInExcludedURIs.isEmpty() && excludedQNamesInIncludedURIs.isEmpty()) {
return LOCAL;
+ }
if (includedURIs == null && excludedURIs.size() == 1 && excludedURIs.contains("") &&
- excludedQNamesInIncludedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty())
+ excludedQNamesInIncludedURIs.isEmpty() && includedQNamesInExcludedURIs.isEmpty()) {
return NONLOCAL;
+ }
return new QNameSet(
- minSetCopy(excludedURIs),
- minSetCopy(includedURIs),
- minSetCopy(excludedQNamesInIncludedURIs),
- minSetCopy(includedQNamesInExcludedURIs));
+ minSetCopy(excludedURIs),
+ minSetCopy(includedURIs),
+ minSetCopy(excludedQNamesInIncludedURIs),
+ minSetCopy(includedQNamesInExcludedURIs));
}
/**
* Returns a QNameSet based on the given array of included QNames
- *
+ *
* @param includedQNames the array of included QNames
*/
- public static QNameSet forArray(QName[] includedQNames)
- {
- if (includedQNames == null)
+ public static QNameSet forArray(QName[] includedQNames) {
+ if (includedQNames == null) {
throw new IllegalArgumentException("includedQNames cannot be null");
+ }
- return new QNameSet(null, Collections.EMPTY_SET, Collections.EMPTY_SET, new HashSet(Arrays.asList(includedQNames)));
+ return new QNameSet(null, Collections.emptySet(), Collections.emptySet(), new HashSet<>(Arrays.asList(includedQNames)));
}
/**
* Returns a QNameSet with the same contents as the given
* QNameSetSpecification.
+ *
* @return the copied QNameSet
*/
- public static QNameSet forSpecification(QNameSetSpecification spec)
- {
- if (spec instanceof QNameSet)
- return (QNameSet)spec;
+ public static QNameSet forSpecification(QNameSetSpecification spec) {
+ if (spec instanceof QNameSet) {
+ return (QNameSet) spec;
+ }
return QNameSet.forSets(spec.excludedURIs(), spec.includedURIs(), spec.excludedQNamesInIncludedURIs(), spec.includedQNamesInExcludedURIs());
}
@@ -173,56 +176,51 @@ public final class QNameSet implements Q
* Returns a QNameSet corresponding to the given wildcard namespace string.
* This is a space-separated list of URIs, plus special tokens as specified
* in the XML Schema specification (##any, ##other, ##targetNamespace, ##local).
+ *
* @return the constructed QNameSet
*/
- public static QNameSet forWildcardNamespaceString(String wildcard, String targetURI)
- {
+ public static QNameSet forWildcardNamespaceString(String wildcard, String targetURI) {
return QNameSet.forSpecification(new QNameSetBuilder(wildcard, targetURI));
}
/**
* Returns a QNameSet containing only the given QName.
+ *
* @return the constructed QNameSet
*/
- public static QNameSet singleton(QName name)
- {
- return new QNameSet(null, Collections.EMPTY_SET, Collections.EMPTY_SET, Collections.singleton(name));
+ public static QNameSet singleton(QName name) {
+ return new QNameSet(null, Collections.emptySet(), Collections.emptySet(), Collections.singleton(name));
}
/**
* Constructs a QNameSetBuilder whose contents are given by
* the four sets.
- *
+ * <p>
* This constuctor is PRIVATE because it uses the given
* sets directly, and it trusts its callers to set only immutable values.
* This constructor is is only called by the static builder methods on
* QNameSet: those methods are all careful assign only unchanging sets.
*/
- private QNameSet(Set excludedURIs, Set includedURIs, Set excludedQNamesInIncludedURIs, Set includedQNamesInExcludedURIs)
- {
- if (includedURIs != null && excludedURIs == null)
- {
+ private QNameSet(Set<String> excludedURIs, Set<String> includedURIs, Set<QName> excludedQNamesInIncludedURIs, Set<QName> includedQNamesInExcludedURIs) {
+ if (includedURIs != null && excludedURIs == null) {
_inverted = false;
_includedURIs = includedURIs;
_excludedQNames = excludedQNamesInIncludedURIs;
_includedQNames = includedQNamesInExcludedURIs;
- }
- else if (excludedURIs != null && includedURIs == null)
- {
+ } else if (excludedURIs != null && includedURIs == null) {
_inverted = true;
_includedURIs = excludedURIs;
_excludedQNames = includedQNamesInExcludedURIs;
_includedQNames = excludedQNamesInIncludedURIs;
- }
- else
+ } else {
throw new IllegalArgumentException("Exactly one of excludedURIs and includedURIs must be null");
+ }
}
/**
* Local xml names are hased using "" as the namespace.
*/
- private static String nsFromName(QName xmlName)
- {
+ private static String nsFromName(QName xmlName) {
String ns = xmlName.getNamespaceURI();
return ns == null ? "" : ns;
}
@@ -230,37 +228,34 @@ public final class QNameSet implements Q
/**
* True if this ModelTransitionSet contains the given qname.
*/
- public boolean contains(QName name)
- {
+ public boolean contains(QName name) {
boolean in = _includedURIs.contains(nsFromName(name)) ?
- !_excludedQNames.contains(name) :
- _includedQNames.contains(name);
+ !_excludedQNames.contains(name) :
+ _includedQNames.contains(name);
return _inverted ^ in;
}
/**
* True if this ModelTransitionSet contains all QNames.
*/
- public boolean isAll()
- {
+ public boolean isAll() {
return _inverted && _includedURIs.isEmpty() && _includedQNames.isEmpty();
}
/**
* True if this ModelTransitionSet contains no QNames.
*/
- public boolean isEmpty()
- {
+ public boolean isEmpty() {
return !_inverted && _includedURIs.isEmpty() && _includedQNames.isEmpty();
}
/**
* Returns a new QNameSet that is the intersection of this one and another.
+ *
* @param set the set to insersect with
* @return the intersection
*/
- public QNameSet intersect(QNameSetSpecification set)
- {
+ public QNameSet intersect(QNameSetSpecification set) {
QNameSetBuilder result = new QNameSetBuilder(this);
result.restrict(set);
return result.toQNameSet();
@@ -268,11 +263,11 @@ public final class QNameSet implements Q
/**
* Returns a new QNameSet that is the union of this one and another.
+ *
* @param set the set to union with
* @return the union
*/
- public QNameSet union(QNameSetSpecification set)
- {
+ public QNameSet union(QNameSetSpecification set) {
QNameSetBuilder result = new QNameSetBuilder(this);
result.addAll(set);
return result.toQNameSet();
@@ -281,166 +276,160 @@ public final class QNameSet implements Q
/**
* Returns a new QNameSet that is the inverse of this one.
*/
- public QNameSet inverse()
- {
- if (this == EMPTY)
+ public QNameSet inverse() {
+ if (this == EMPTY) {
return ALL;
- if (this == ALL)
+ }
+ if (this == ALL) {
return EMPTY;
- if (this == LOCAL)
+ }
+ if (this == LOCAL) {
return NONLOCAL;
- if (this == NONLOCAL)
+ }
+ if (this == NONLOCAL) {
return LOCAL;
+ }
return new QNameSet(includedURIs(), excludedURIs(), includedQNamesInExcludedURIs(), excludedQNamesInIncludedURIs());
}
/**
* True if the given set is a subset of this one.
+ *
* @param set the set to test
* @return true if this contains all QNames contained by the given set
*/
- public boolean containsAll(QNameSetSpecification set)
- {
+ public boolean containsAll(QNameSetSpecification set) {
// a.contains(b) == a.inverse.isDisjoint(b)
- if (!_inverted && set.excludedURIs() != null)
+ if (!_inverted && set.excludedURIs() != null) {
return false;
-
+ }
+
return inverse().isDisjoint(set);
}
/**
* True if the given set is disjoint from this one.
+ *
* @param set the set to test
* @return true if the set is disjoint from this set
*/
- public boolean isDisjoint(QNameSetSpecification set)
- {
- if (_inverted && set.excludedURIs() != null)
+ public boolean isDisjoint(QNameSetSpecification set) {
+ if (_inverted && set.excludedURIs() != null) {
return false;
+ }
- if (_inverted)
+ if (_inverted) {
return isDisjointImpl(set, this);
- else
+ } else {
return isDisjointImpl(this, set);
+ }
}
-
- private boolean isDisjointImpl(QNameSetSpecification set1, QNameSetSpecification set2)
- {
- Set includeURIs = set1.includedURIs();
- Set otherIncludeURIs = set2.includedURIs();
- if (otherIncludeURIs != null)
- {
- for (Iterator i = includeURIs.iterator(); i.hasNext(); )
- {
- if (otherIncludeURIs.contains(i.next()))
- return false;
+
+ private boolean isDisjointImpl(QNameSetSpecification set1, QNameSetSpecification set2) {
+ Set<String> includeURIs = set1.includedURIs();
+ Set<String> otherIncludeURIs = set2.includedURIs();
+
+ if (otherIncludeURIs != null) {
+ if (!Collections.disjoint(includeURIs, otherIncludeURIs)) {
+ return false;
}
- }
- else
- {
- Set otherExcludeURIs = set2.excludedURIs();
- for (Iterator i = includeURIs.iterator(); i.hasNext(); )
- {
- if (!otherExcludeURIs.contains(i.next()))
- return false;
+ } else {
+ if (!set2.excludedURIs().containsAll(includeURIs)) {
+ return false;
}
}
- for (Iterator i = set1.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
- {
- if (set2.contains((QName)i.next()))
- return false;
+ if (set1.includedQNamesInExcludedURIs().stream().anyMatch(set2::contains)) {
+ return false;
}
- if (includeURIs.size() > 0)
- for (Iterator i = set2.includedQNamesInExcludedURIs().iterator(); i.hasNext(); )
- {
- if (set1.contains((QName)i.next()))
- return false;
+ if (set2.includedQNamesInExcludedURIs().stream().anyMatch(set1::contains)) {
+ return false;
}
return true;
}
-
+
/**
* Namespaces that are fully excluded from the set except for a finite
* number of individual QName exceptions. Returns null if this set is infinite.
+ *
* @return the set of excluded namespace URI strings
- */
- public Set excludedURIs()
- {
- if (_inverted) return Collections.unmodifiableSet(_includedURIs);
+ */
+ public Set<String> excludedURIs() {
+ if (_inverted) {
+ return Collections.unmodifiableSet(_includedURIs);
+ }
return null;
}
/**
* Namespaces that are fully included in set except for a finite
* number of individual QName exceptions. Returns null if this set is infinite.
+ *
* @return the set of included namespace URI strings
- */
- public Set includedURIs()
- {
- if (!_inverted) return _includedURIs;
+ */
+ public Set<String> includedURIs() {
+ if (!_inverted) {
+ return _includedURIs;
+ }
return null;
}
-
+
/**
* The set of QNames excluded from the set even though they are within
* a namespace that is otherwise fully included in the set.
+ *
* @return the set of excluded QNames from within includedURI namespaces
- */
- public Set excludedQNamesInIncludedURIs()
- {
+ */
+ public Set<QName> excludedQNamesInIncludedURIs() {
return Collections.unmodifiableSet(_inverted ? _includedQNames : _excludedQNames);
}
/**
* The set of QNames included in the set even though they are within
* a namespace that is otherwise fully included in the set.
+ *
* @return the set of included QNames from within excludedURI namespaces
- */
- public Set includedQNamesInExcludedURIs()
- {
+ */
+ public Set<QName> includedQNamesInExcludedURIs() {
return Collections.unmodifiableSet(_inverted ? _excludedQNames : _includedQNames);
}
-
- private String prettyQName(QName name)
- {
- if (name.getNamespaceURI() == null)
+
+ private String prettyQName(QName name) {
+ if (name.getNamespaceURI() == null) {
return name.getLocalPart();
+ }
return name.getLocalPart() + "@" + name.getNamespaceURI();
}
/**
* Returns a string representation useful for debugging, subject to change.
- */
- public String toString()
- {
+ */
+ public String toString() {
StringBuilder sb = new StringBuilder();
sb.append("QNameSet");
sb.append(_inverted ? "-(" : "+(");
- for (Iterator i = _includedURIs.iterator(); i.hasNext(); )
- {
+ for (String includedURIs : _includedURIs) {
sb.append("+*@");
- sb.append(i.next());
+ sb.append(includedURIs);
sb.append(", ");
}
- for (Iterator i = _excludedQNames.iterator(); i.hasNext(); )
- {
+ for (QName excludedQName : _excludedQNames) {
sb.append("-");
- sb.append(prettyQName((QName)i.next()));
+ sb.append(prettyQName(excludedQName));
sb.append(", ");
}
- for (Iterator i = _includedQNames.iterator(); i.hasNext(); )
- {
+ for (QName includedQName : _includedQNames) {
sb.append("+");
- sb.append(prettyQName((QName)i.next()));
+ sb.append(prettyQName(includedQName));
sb.append(", ");
}
int index = sb.lastIndexOf(", ");
- if (index > 0)
+ if (index > 0) {
sb.setLength(index);
+ }
sb.append(')');
return sb.toString();
}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSetSpecification.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSetSpecification.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSetSpecification.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/QNameSetSpecification.java Sun Sep 27 21:25:33 2020
@@ -16,19 +16,17 @@
package org.apache.xmlbeans;
import javax.xml.namespace.QName;
-
import java.util.Set;
/**
* Represents a lattice of finite and infinite sets of QNames.
- *
+ *
* @see QNameSet
*/
-public interface QNameSetSpecification
-{
+public interface QNameSetSpecification {
/**
* True if the set contains the given QName.
- *
+ * <p>
* Roughly equivalent to:
* (includedURIs() == null ?
* excludedURIs().contains(namespace) :
@@ -51,9 +49,9 @@ public interface QNameSetSpecification
/**
* True if the parameter is a subset of this set.
- */
+ */
boolean containsAll(QNameSetSpecification set);
-
+
/**
* True if is disjoint from the specified set.
*/
@@ -88,7 +86,7 @@ public interface QNameSetSpecification
* <p>
* The same set as inverse().includedURIs().
*/
- Set excludedURIs();
+ Set<String> excludedURIs();
/**
* The finite set of namespace URIs that are almost completely included in
@@ -101,7 +99,7 @@ public interface QNameSetSpecification
* <p>
* The same as inverse.excludedURIs().
*/
- Set includedURIs();
+ Set<String> includedURIs();
/**
* The finite set of QNames that are excluded from the set within namespaces
@@ -113,7 +111,7 @@ public interface QNameSetSpecification
* <p>
* The same set as inverse().includedQNames().
*/
- Set excludedQNamesInIncludedURIs();
+ Set<QName> excludedQNamesInIncludedURIs();
/**
* The finite set of QNames that are included in the set within namespaces
@@ -125,5 +123,5 @@ public interface QNameSetSpecification
* <p>
* The same as inverse().excludedQNames().
*/
- Set includedQNamesInExcludedURIs();
+ Set<QName> includedQNamesInExcludedURIs();
}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SchemaIdentityConstraint.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SchemaIdentityConstraint.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SchemaIdentityConstraint.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SchemaIdentityConstraint.java Sun Sep 27 21:25:33 2020
@@ -15,14 +15,12 @@
package org.apache.xmlbeans;
-import javax.xml.namespace.QName;
import java.util.Map;
/**
* Represents an identity constraint definition.
- */
-public interface SchemaIdentityConstraint extends SchemaComponent, SchemaAnnotated
-{
+ */
+public interface SchemaIdentityConstraint extends SchemaComponent, SchemaAnnotated {
/**
* Return the selector xpath as a string.
*/
@@ -44,18 +42,24 @@ public interface SchemaIdentityConstrain
Object getFieldPath(int index);
/**
- * Return a read-only copy of the namespace map. This is the
+ * Return a read-only copy of the namespace map. This is the
* set of prefix to URI mappings that were in scope in the
* schema at the point at which this constraint was declared
*/
- Map getNSMap();
+ Map<String, String> getNSMap();
- /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:key</a> constraint. See {@link #getConstraintCategory}. */
- public static final int CC_KEY = 1;
- /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:keyRef</a> constraint. See {@link #getConstraintCategory}. */
- public static final int CC_KEYREF = 2;
- /** A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:unique</a> constraint. See {@link #getConstraintCategory}. */
- public static final int CC_UNIQUE = 3;
+ /**
+ * A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:key</a> constraint. See {@link #getConstraintCategory}.
+ */
+ int CC_KEY = 1;
+ /**
+ * A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:keyRef</a> constraint. See {@link #getConstraintCategory}.
+ */
+ int CC_KEYREF = 2;
+ /**
+ * A <a target="_blank" href="http://www.w3.org/TR/xmlschema-1/#declare-key">xs:unique</a> constraint. See {@link #getConstraintCategory}.
+ */
+ int CC_UNIQUE = 3;
/**
* Return the constraint category. Either {@link #CC_KEY}, {@link #CC_KEYREF},
@@ -71,26 +75,28 @@ public interface SchemaIdentityConstrain
/**
* Used to allow on-demand loading of identity constraints.
- *
- * @exclude
*/
- public static final class Ref extends SchemaComponent.Ref
- {
- public Ref(SchemaIdentityConstraint idc)
- { super(idc); }
-
- public Ref(SchemaTypeSystem system, String handle)
- { super(system, handle); }
-
- public final int getComponentType()
- { return SchemaComponent.IDENTITY_CONSTRAINT; }
-
- public final SchemaIdentityConstraint get()
- { return (SchemaIdentityConstraint)getComponent(); }
+ final class Ref extends SchemaComponent.Ref {
+ public Ref(SchemaIdentityConstraint idc) {
+ super(idc);
+ }
+
+ public Ref(SchemaTypeSystem system, String handle) {
+ super(system, handle);
+ }
+
+ public final int getComponentType() {
+ return SchemaComponent.IDENTITY_CONSTRAINT;
+ }
+
+ public final SchemaIdentityConstraint get() {
+ return (SchemaIdentityConstraint) getComponent();
+ }
}
/**
* Returns user-specific information.
+ *
* @see SchemaBookmark
*/
Object getUserData();
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SimpleValue.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SimpleValue.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SimpleValue.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/SimpleValue.java Sun Sep 27 21:25:33 2020
@@ -135,12 +135,12 @@ public interface SimpleValue extends Xml
/**
* Returns the value as a {@link List} of friendly Java objects (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).
*/
- List getListValue();
+ List<?> getListValue();
/**
* Returns the value as a {@link List} of XmlAnySimpleType objects.
*/
- List xgetListValue();
+ List<? extends XmlAnySimpleType> xgetListValue();
/**
* Returns a union value as a its natural friendly Java object (String, Integer, Byte, Short, Long, BigInteger, Decimal, Float, Double, byte[], Calendar, GDuration).
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlError.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlError.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlError.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlError.java Sun Sep 27 21:25:33 2020
@@ -15,13 +15,15 @@
package org.apache.xmlbeans;
+import javax.xml.stream.Location;
+import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
-import java.io.File;
-import java.util.ResourceBundle;
-import java.util.PropertyResourceBundle;
import java.text.MessageFormat;
-import javax.xml.stream.Location;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.PropertyResourceBundle;
+import java.util.ResourceBundle;
/**
* Represents a message at a specific XML location.
@@ -36,28 +38,27 @@ import javax.xml.stream.Location;
* @see XmlOptions#setErrorListener
* @see XmlException
*/
-public class XmlError implements java.io.Serializable
-{
+public class XmlError implements java.io.Serializable {
private static final long serialVersionUID = 1L;
- private static final ResourceBundle _bundle = PropertyResourceBundle.getBundle("org.apache.xmlbeans.message");
+ private static final ResourceBundle _bundle = PropertyResourceBundle.getBundle("org.apache.xmlbeans.message", Locale.ROOT);
- private String _message;
- private String _code;
- private String _source;
- private int _severity = SEVERITY_ERROR;
- private int _line = -1;
- private int _column = -1;
- private int _offset = -1;
+ private final String _message;
+ private final String _code;
+ private final String _source;
+ private final int _severity;
+ private final int _line;
+ private final int _column;
+ private int _offset = -1;
private transient XmlCursor _cursor;
/**
* Copy constructor.
+ *
* @param src The original XmlError to copy.
*/
- public XmlError(XmlError src)
- {
+ public XmlError(XmlError src) {
_message = src.getMessage();
_code = src.getErrorCode();
_severity = src.getSeverity();
@@ -73,8 +74,7 @@ public class XmlError implements java.io
* this constructor.
*/
private XmlError(String message, String code, int severity,
- String source, int line, int column, int offset, XmlCursor cursor)
- {
+ String source, int line, int column, int offset, XmlCursor cursor) {
_message = message;
_code = code;
_severity = severity;
@@ -86,37 +86,34 @@ public class XmlError implements java.io
}
private XmlError(String code, Object[] args, int severity,
- String source, int line, int column, int offset, XmlCursor cursor)
- {
- this(XmlError.formattedMessage(code, args), code, severity, source, line, column, offset, cursor);
+ String source, int line, int column, int offset, XmlCursor cursor) {
+ this(XmlError.formattedMessage(code, args), code, severity, source, line, column, offset, cursor);
}
/**
* The static factory methods should be used instead of
* this constructor.
*/
- protected XmlError(String message, String code, int severity, XmlCursor cursor)
- {
+ protected XmlError(String message, String code, int severity, XmlCursor cursor) {
String source = null;
int line = -1;
int column = -1;
int offset = -1;
- if (cursor != null)
- {
+ if (cursor != null) {
// Hunt down the line/column/offset
source = cursor.documentProperties().getSourceName();
XmlCursor c = cursor.newCursor();
XmlLineNumber ln =
- (XmlLineNumber) c.getBookmark( XmlLineNumber.class );
+ (XmlLineNumber) c.getBookmark(XmlLineNumber.class);
- if (ln == null)
- ln = (XmlLineNumber) c.toPrevBookmark( XmlLineNumber.class );
+ if (ln == null) {
+ ln = (XmlLineNumber) c.toPrevBookmark(XmlLineNumber.class);
+ }
- if (ln != null)
- {
+ if (ln != null) {
line = ln.getLine();
column = ln.getColumn();
offset = ln.getOffset();
@@ -135,8 +132,7 @@ public class XmlError implements java.io
_cursor = cursor;
}
- protected XmlError(String code, Object[] args, int severity, XmlCursor cursor)
- {
+ protected XmlError(String code, Object[] args, int severity, XmlCursor cursor) {
this(XmlError.formattedMessage(code, args), code, severity, cursor);
}
@@ -144,19 +140,18 @@ public class XmlError implements java.io
* The static factory methods should be used instead of
* this constructor.
*/
- protected XmlError(String message, String code, int severity, Location loc)
- {
+ protected XmlError(String message, String code, int severity, Location loc) {
String source = null;
int line = -1;
int column = -1;
- if (loc != null)
- {
+ if (loc != null) {
line = loc.getLineNumber();
column = loc.getColumnNumber();
source = loc.getPublicId();
- if (source==null)
+ if (source == null) {
source = loc.getSystemId();
+ }
}
_message = message;
@@ -167,291 +162,288 @@ public class XmlError implements java.io
_column = column;
}
- protected XmlError(String code, Object[] args, int severity, Location loc)
- {
+ protected XmlError(String code, Object[] args, int severity, Location loc) {
this(XmlError.formattedMessage(code, args), code, severity, loc);
}
/**
* Returns an XmlError for the given message, with no location and {@link #SEVERITY_ERROR}.
+ *
* @param message the error message
*/
- public static XmlError forMessage(String message)
- {
+ public static XmlError forMessage(String message) {
return forMessage(message, SEVERITY_ERROR);
}
/**
* Returns an XmlError for the given message, with no location and the given severity.
- * @param message the error message
+ *
+ * @param message the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
*/
- public static XmlError forMessage(String message, int severity)
- {
+ public static XmlError forMessage(String message, int severity) {
return forSource(message, severity, null);
}
/**
* Returns an XmlError for the given message, with no location and the given severity.
+ *
* @param code the error code
* @param args the arguments to use in formatting the error message
*/
- public static XmlError forMessage(String code, Object[] args)
- {
+ public static XmlError forMessage(String code, Object[] args) {
return forSource(code, args, SEVERITY_ERROR, null);
}
/**
* Returns an XmlError for the given message, with no location and the given severity.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
*/
- public static XmlError forMessage(String code, Object[] args, int severity)
- {
+ public static XmlError forMessage(String code, Object[] args, int severity) {
return forSource(code, args, severity, null);
}
/**
* Returns an XmlError for the given message, located in the given file and {@link #SEVERITY_ERROR}.
- * @param message the error message
+ *
+ * @param message the error message
* @param sourceName the URL or other name for the file
*/
- public static XmlError forSource(String message, String sourceName)
- {
+ public static XmlError forSource(String message, String sourceName) {
return forLocation(message, SEVERITY_ERROR, sourceName, -1, -1, -1);
}
/**
* Returns an XmlError for the given message, with the given severity, located in the given file.
- * @param message the error message
- * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
+ *
+ * @param message the error message
+ * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
* @param sourceName the URL or other name for the file
*/
- public static XmlError forSource(String message, int severity, String sourceName)
- {
+ public static XmlError forSource(String message, int severity, String sourceName) {
return forLocation(message, severity, sourceName, -1, -1, -1);
}
/**
* Returns an XmlError for the given message, with the given severity, located in the given file.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
- * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
+ * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
* @param sourceName the URL or other name for the file
*/
- public static XmlError forSource(String code, Object[] args, int severity, String sourceName)
- {
+ public static XmlError forSource(String code, Object[] args, int severity, String sourceName) {
return forLocation(code, args, severity, sourceName, -1, -1, -1);
}
/**
* Returns an XmlError for the given message, located at a specific point in the given file and {@link #SEVERITY_ERROR}.
- * @param message the error message
+ *
+ * @param message the error message
* @param sourceName the URL or other name for the file
- * @param location the location from an xml stream
+ * @param location the location from an xml stream
*/
- public static XmlError forLocation(String message, String sourceName, Location location)
- {
- return new XmlError(message, (String)null, SEVERITY_ERROR, sourceName,
+ public static XmlError forLocation(String message, String sourceName, Location location) {
+ return new XmlError(message, (String) null, SEVERITY_ERROR, sourceName,
location.getLineNumber(), location.getColumnNumber(), -1, null);
}
/**
* Returns an XmlError for the given message, located at a specific point in the given file and {@link #SEVERITY_ERROR}.
- * @param message the error message
+ *
+ * @param message the error message
* @param sourceName the URL or other name for the file
- * @param line the 1-based line number, or -1 if not known
- * @param column the 1-based column number, or -1 if not known
- * @param offset the 0-base file character offset, or -1 if not known
- */
- public static XmlError forLocation(String message, String sourceName, int line, int column, int offset)
- {
- return new XmlError(message, (String)null, SEVERITY_ERROR, sourceName, line, column, offset, null);
+ * @param line the 1-based line number, or -1 if not known
+ * @param column the 1-based column number, or -1 if not known
+ * @param offset the 0-base file character offset, or -1 if not known
+ */
+ public static XmlError forLocation(String message, String sourceName, int line, int column, int offset) {
+ return new XmlError(message, (String) null, SEVERITY_ERROR, sourceName, line, column, offset, null);
}
/**
* Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
- * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
+ * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
* @param sourceName the URL or other name for the file
- * @param line the 1-based line number, or -1 if not known
- * @param column the 1-based column number, or -1 if not known
- * @param offset the 0-base file character offset, or -1 if not known
+ * @param line the 1-based line number, or -1 if not known
+ * @param column the 1-based column number, or -1 if not known
+ * @param offset the 0-base file character offset, or -1 if not known
*/
- public static XmlError forLocation(String code, Object[] args, int severity, String sourceName, int line, int column, int offset)
- {
+ public static XmlError forLocation(String code, Object[] args, int severity, String sourceName, int line, int column, int offset) {
return new XmlError(code, args, severity, sourceName, line, column, offset, null);
}
/**
* Returns an XmlError for the given message, with the given severity, located at a specific point in the given file.
- * @param message the error message
- * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
+ *
+ * @param message the error message
+ * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
* @param sourceName the URL or other name for the file
- * @param line the 1-based line number, or -1 if not known
- * @param column the 1-based column number, or -1 if not known
- * @param offset the 0-base file character offset, or -1 if not known
- */
- public static XmlError forLocation(String message, int severity, String sourceName, int line, int column, int offset)
- {
- return new XmlError(message, (String)null, severity, sourceName, line, column, offset, null);
+ * @param line the 1-based line number, or -1 if not known
+ * @param column the 1-based column number, or -1 if not known
+ * @param offset the 0-base file character offset, or -1 if not known
+ */
+ public static XmlError forLocation(String message, int severity, String sourceName, int line, int column, int offset) {
+ return new XmlError(message, (String) null, severity, sourceName, line, column, offset, null);
}
/**
* Returns an XmlError for the given message, with the given severity, located at the given physcial location and XmlCursor.
- * @param message the error message
- * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
+ *
+ * @param message the error message
+ * @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
* @param sourceName the URL or other name for the file
- * @param line the 1-based line number, or -1 if not known
- * @param column the 1-based column number, or -1 if not known
- * @param offset the 0-base file character offset, or -1 if not known
- * @param cursor the XmlCursor representing the location of the error
+ * @param line the 1-based line number, or -1 if not known
+ * @param column the 1-based column number, or -1 if not known
+ * @param offset the 0-base file character offset, or -1 if not known
+ * @param cursor the XmlCursor representing the location of the error
*/
- public static XmlError forLocationAndCursor(String message, int severity, String sourceName, int line, int column, int offset, XmlCursor cursor)
- {
- return new XmlError(message, (String)null, severity, sourceName, line, column, offset, cursor);
+ public static XmlError forLocationAndCursor(String message, int severity, String sourceName, int line, int column, int offset, XmlCursor cursor) {
+ return new XmlError(message, (String) null, severity, sourceName, line, column, offset, cursor);
}
/**
* Returns an XmlError for the given message, located at the XmlObject, with {@link #SEVERITY_ERROR}.
+ *
* @param message the error message
- * @param xobj the XmlObject representing the location of the error
+ * @param xobj the XmlObject representing the location of the error
*/
- public static XmlError forObject(String message, XmlObject xobj)
- {
+ public static XmlError forObject(String message, XmlObject xobj) {
return forObject(message, SEVERITY_ERROR, xobj);
}
/**
* Returns an XmlError for the given message, located at the XmlObject, with {@link #SEVERITY_ERROR}.
+ *
* @param code the error code
* @param args the arguments to use in formatting the error message
* @param xobj the XmlObject representing the location of the error
*/
- public static XmlError forObject(String code, Object[] args, XmlObject xobj)
- {
+ public static XmlError forObject(String code, Object[] args, XmlObject xobj) {
return forObject(code, args, SEVERITY_ERROR, xobj);
}
/**
* Returns an XmlError for the given message, with the given severity, located at the XmlObject.
- * @param message the error message
+ *
+ * @param message the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
- * @param xobj the XmlObject representing the location of the error
+ * @param xobj the XmlObject representing the location of the error
*/
- public static XmlError forObject(String message, int severity, XmlObject xobj)
- {
- if (xobj == null)
+ public static XmlError forObject(String message, int severity, XmlObject xobj) {
+ if (xobj == null) {
return forMessage(message, severity);
+ }
XmlCursor cur = xobj.newCursor();
- XmlError result = forCursor(message, severity, cur);
- return result;
+ return forCursor(message, severity, cur);
}
/**
* Returns an XmlError for the given message, with the given severity, located at the XmlObject.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
- * @param xobj the XmlObject representing the location of the error
+ * @param xobj the XmlObject representing the location of the error
*/
- public static XmlError forObject(String code, Object[] args, int severity, XmlObject xobj)
- {
- if (xobj == null)
+ public static XmlError forObject(String code, Object[] args, int severity, XmlObject xobj) {
+ if (xobj == null) {
return forMessage(code, args, severity);
+ }
XmlCursor cur = xobj.newCursor();
- XmlError result = forCursor(code, args, severity, cur);
- return result;
+ return forCursor(code, args, severity, cur);
}
/**
* Returns an XmlError for the given message, located at the XmlCursor, with {@link #SEVERITY_ERROR}.
+ *
* @param message the error message
- * @param cursor the XmlCursor representing the location of the error
+ * @param cursor the XmlCursor representing the location of the error
*/
- public static XmlError forCursor(String message, XmlCursor cursor)
- {
+ public static XmlError forCursor(String message, XmlCursor cursor) {
return forCursor(message, SEVERITY_ERROR, cursor);
}
/**
* Returns an XmlError for the given message, located at the XmlCursor, with {@link #SEVERITY_ERROR}.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
* @param cursor the XmlCursor representing the location of the error
*/
- public static XmlError forCursor(String code, Object[] args, XmlCursor cursor)
- {
+ public static XmlError forCursor(String code, Object[] args, XmlCursor cursor) {
return forCursor(code, args, SEVERITY_ERROR, cursor);
}
/**
* Returns an XmlError for the given message, with the given severity, located at the XmlCursor.
- * @param message the error message
+ *
+ * @param message the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
- * @param cursor the XmlCursor representing the location of the error
+ * @param cursor the XmlCursor representing the location of the error
*/
- public static XmlError forCursor(String message, int severity, XmlCursor cursor)
- {
- return new XmlError(message, (String)null, severity, cursor);
+ public static XmlError forCursor(String message, int severity, XmlCursor cursor) {
+ return new XmlError(message, (String) null, severity, cursor);
}
/**
* Returns an XmlError for the given message, with the given severity, located at the XmlCursor.
- * @param code the error code
- * @param args the arguments to use in formatting the error message
+ *
+ * @param code the error code
+ * @param args the arguments to use in formatting the error message
* @param severity the severity ({@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO})
- * @param cursor the XmlCursor representing the location of the error
+ * @param cursor the XmlCursor representing the location of the error
*/
- public static XmlError forCursor(String code, Object[] args, int severity, XmlCursor cursor)
- {
+ public static XmlError forCursor(String code, Object[] args, int severity, XmlCursor cursor) {
return new XmlError(code, args, severity, cursor);
}
/**
* Tries to produce a nicely formatted filename from the given string.
*/
- protected static String formattedFileName(String rawString, URI base)
- {
- if (rawString == null)
+ protected static String formattedFileName(String rawString, URI base) {
+ if (rawString == null) {
return null;
+ }
- URI uri = null;
+ URI uri;
- try
- {
+ try {
// if it looks like an absolute URI, treat it as such
uri = new URI(rawString);
// otherwise, treat it like a filename
- if (!uri.isAbsolute())
+ if (!uri.isAbsolute()) {
uri = null;
- }
- catch (URISyntaxException e)
- {
+ }
+ } catch (URISyntaxException e) {
uri = null;
}
// looks like a filename; convert it to uri for relativization
- if (uri == null)
+ if (uri == null) {
uri = new File(rawString).toURI();
+ }
- if (base != null)
+ if (base != null) {
uri = base.relativize(uri);
+ }
// filenames get their file: stripped off and their /'s turned into \'s (MSDOS)
if (uri.isAbsolute() ? uri.getScheme().compareToIgnoreCase("file") == 0 :
- base != null && base.isAbsolute() && base.getScheme().compareToIgnoreCase("file") == 0)
- {
- try
- {
+ base != null && base.isAbsolute() && base.getScheme().compareToIgnoreCase("file") == 0) {
+ try {
return (new File(uri)).toString();
+ } catch (Exception ignored) {
}
- catch (Exception e) {};
}
return uri.toString();
@@ -460,35 +452,23 @@ public class XmlError implements java.io
/**
* Tries to format a message using the error code.
*/
- public static String formattedMessage(String code, Object[] args)
- {
- if (code == null)
+ public static String formattedMessage(String code, Object[] args) {
+ if (code == null) {
return null;
-
- String message;
-
- try
- {
- message = MessageFormat.format(_bundle.getString(code), args);
- }
- catch (java.util.MissingResourceException e)
- {
- return MessageFormat.format(_bundle.getString("message.missing.resource"),
- new Object[] { e.getMessage() });
- }
- catch (IllegalArgumentException e)
- {
- return MessageFormat.format(_bundle.getString("message.pattern.invalid"),
- new Object[] { e.getMessage() });
}
- return message;
+ try {
+ return new MessageFormat(_bundle.getString(code), Locale.ROOT).format(args);
+ } catch (MissingResourceException | IllegalArgumentException e) {
+ String bnd = (e instanceof MissingResourceException) ? "message.missing.resource" : "message.pattern.invalid";
+ return new MessageFormat(_bundle.getString(bnd), Locale.ROOT).format(e.getMessage());
+ }
}
/**
* An error. See {@link #getSeverity}.
*/
- public static final int SEVERITY_ERROR = 0;
+ public static final int SEVERITY_ERROR = 0;
/**
* A warning. See {@link #getSeverity}.
*/
@@ -496,53 +476,68 @@ public class XmlError implements java.io
/**
* An informational message. See {@link #getSeverity}.
*/
- public static final int SEVERITY_INFO = 2;
+ public static final int SEVERITY_INFO = 2;
/**
* Returns the severity. Either {@link #SEVERITY_ERROR}, {@link #SEVERITY_WARNING}, or {@link #SEVERITY_INFO}.
*/
- public int getSeverity ( ) { return _severity; }
+ public int getSeverity() {
+ return _severity;
+ }
/**
* Returns the error message without location information.
*/
- public String getMessage ( ) { return _message; }
+ public String getMessage() {
+ return _message;
+ }
/**
* Returns the error code or null. See {@link XmlErrorCodes}.
*/
- public String getErrorCode ( ) { return _code; }
+ public String getErrorCode() {
+ return _code;
+ }
/**
* Returns the URL (or other name) of the file with the error, if available.
*/
- public String getSourceName ( ) { return _source; }
+ public String getSourceName() {
+ return _source;
+ }
/**
* Returns the line number of the error, if available, -1 if not.
*/
- public int getLine ( ) { return _line; }
+ public int getLine() {
+ return _line;
+ }
/**
* Returns the column number of the error, if available, -1 if not.
*/
- public int getColumn ( ) { return _column; }
+ public int getColumn() {
+ return _column;
+ }
/**
* Returns the file character offset of the error, if available, -1 if not.
*/
- public int getOffset ( ) { return _offset; }
+ public int getOffset() {
+ return _offset;
+ }
/**
* Returns a location object of the given type. XmlCursor.class and
* XmlObject.class can be passed, for example. Null if not available.
*/
- public Object getLocation ( Object type )
- {
- if (type == XmlCursor.class)
+ public Object getLocation(Object type) {
+ if (type == XmlCursor.class) {
return _cursor;
- if (type == XmlObject.class && _cursor != null)
+ }
+ if (type == XmlObject.class && _cursor != null) {
return _cursor.getObject();
+ }
return null;
}
@@ -550,27 +545,24 @@ public class XmlError implements java.io
* Returns a location of the error as an {@link XmlCursor}, null if
* not available.
*/
- public XmlCursor getCursorLocation ( )
- {
- return (XmlCursor) getLocation( XmlCursor.class );
+ public XmlCursor getCursorLocation() {
+ return (XmlCursor) getLocation(XmlCursor.class);
}
/**
* Returns a location of the error as an {@link XmlObject}, null if
* not available.
*/
- public XmlObject getObjectLocation ( )
- {
- return (XmlObject) getLocation( XmlObject.class );
+ public XmlObject getObjectLocation() {
+ return (XmlObject) getLocation(XmlObject.class);
}
/**
* Produces a standard string for the error message, complete with
* filename and location offsets if available.
*/
- public String toString ( )
- {
- return toString( null );
+ public String toString() {
+ return toString(null);
}
/**
@@ -578,8 +570,7 @@ public class XmlError implements java.io
* URI is supplied, source names are relativized against the given
* URI.
*/
- public String toString ( URI base )
- {
+ public String toString(URI base) {
// modified to carefully match the IDE's
// workshop.workspace.ant.AntLogger regex
// which also matches javac (davidbau)
@@ -588,45 +579,46 @@ public class XmlError implements java.io
String source = formattedFileName(getSourceName(), base);
- if ( source != null )
- {
- sb.append( source );
+ if (source != null) {
+ sb.append(source);
int line = getLine();
- if ( line < 0 )
+ if (line < 0) {
line = 0;
+ }
- sb.append( ':' );
- sb.append( line );
- sb.append( ':' );
- if (getColumn() > 0)
- {
- sb.append( getColumn() );
- sb.append( ':' );
+ sb.append(':');
+ sb.append(line);
+ sb.append(':');
+ if (getColumn() > 0) {
+ sb.append(getColumn());
+ sb.append(':');
}
sb.append(" ");
}
- switch ( getSeverity() )
- {
- case SEVERITY_ERROR : sb.append( "error: " ); break;
- case SEVERITY_WARNING : sb.append( "warning: " ); break;
- case SEVERITY_INFO : break;
+ switch (getSeverity()) {
+ case SEVERITY_ERROR:
+ sb.append("error: ");
+ break;
+ case SEVERITY_WARNING:
+ sb.append("warning: ");
+ break;
+ case SEVERITY_INFO:
+ break;
}
- if (getErrorCode() != null)
- {
+ if (getErrorCode() != null) {
sb.append(getErrorCode()).append(": ");
}
String msg = getMessage();
- sb.append( msg == null ? "<Unspecified message>" : msg );
+ sb.append(msg == null ? "<Unspecified message>" : msg);
return sb.toString();
}
- public static String severityAsString(int severity)
- {
+ public static String severityAsString(int severity) {
switch (severity) {
case SEVERITY_ERROR:
return ("error");
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptionCharEscapeMap.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptionCharEscapeMap.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptionCharEscapeMap.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlOptionCharEscapeMap.java Sun Sep 27 21:25:33 2020
@@ -16,6 +16,7 @@
package org.apache.xmlbeans;
import java.util.HashMap;
+import java.util.Map;
/**
* Corresponds to the Saver and XmlOptions.
@@ -44,73 +45,68 @@ import java.util.HashMap;
*
* </pre>
*/
-public class XmlOptionCharEscapeMap
-{
+public class XmlOptionCharEscapeMap {
public static final int PREDEF_ENTITY = 0;
- public static final int DECIMAL = 1;
- public static final int HEXADECIMAL = 2;
+ public static final int DECIMAL = 1;
+ public static final int HEXADECIMAL = 2;
// map of Character to String which will represent it in the output document
- private HashMap _charMap;
+ private final Map<Character, String> _charMap;
// internal HashMap just for predefined entities
- private static final HashMap _predefEntities = new HashMap();
+ private static final Map<Character, String> _predefEntities = new HashMap<>();
+
static {
- _predefEntities.put(new Character('<'), "<");
- _predefEntities.put(new Character('>'), ">");
- _predefEntities.put(new Character('&'), "&");
- _predefEntities.put(new Character('\''), "'");
- _predefEntities.put(new Character('"'), """);
+ _predefEntities.put('<', "<");
+ _predefEntities.put('>', ">");
+ _predefEntities.put('&', "&");
+ _predefEntities.put('\'', "'");
+ _predefEntities.put('"', """);
}
/**
* Construct a new XmlOptionCharEncoder.
*/
- public XmlOptionCharEscapeMap()
- {
- _charMap = new HashMap();
+ public XmlOptionCharEscapeMap() {
+ _charMap = new HashMap<>();
}
/**
- * @return whether a character encoding exists for this character
+ * @return whether a character encoding exists for this character
*/
- public boolean containsChar(char ch)
- {
- return _charMap.containsKey(new Character(ch));
+ public boolean containsChar(char ch) {
+ return _charMap.containsKey(ch);
}
/**
* set up this character to be escaped in output documents
* according to the given mode
*/
- public void addMapping(char ch, int mode) throws XmlException
- {
- Character theChar = new Character(ch);
- switch(mode)
- {
+ public void addMapping(char ch, int mode) throws XmlException {
+ Character theChar = ch;
+ switch (mode) {
case PREDEF_ENTITY:
- String replString = (String)_predefEntities.get(theChar);
- if ( replString == null )
- {
+ String replString = _predefEntities.get(theChar);
+ if (replString == null) {
throw new XmlException("XmlOptionCharEscapeMap.addMapping(): " +
- "the PREDEF_ENTITY mode can only be used for the following " +
- "characters: <, >, &, \" and '");
+ "the PREDEF_ENTITY mode can only be used for the following " +
+ "characters: <, >, &, \" and '");
}
_charMap.put(theChar, replString);
break;
case DECIMAL:
- _charMap.put(theChar, "&#" + (int)ch + ";");
+ _charMap.put(theChar, "&#" + (int) ch + ";");
break;
case HEXADECIMAL:
- String hexCharPoint = Integer.toHexString((int)ch);
+ String hexCharPoint = Integer.toHexString(ch);
_charMap.put(theChar, "&#x" + hexCharPoint + ";");
break;
default:
throw new XmlException("XmlOptionCharEscapeMap.addMapping(): " +
- "mode must be PREDEF_ENTITY, DECIMAL or HEXADECIMAL");
+ "mode must be PREDEF_ENTITY, DECIMAL or HEXADECIMAL");
}
}
@@ -118,16 +114,13 @@ public class XmlOptionCharEscapeMap
* set up this contiguous set of characters to be escaped in
* output documents according to the given mode
*/
- public void addMappings(char ch1, char ch2, int mode) throws XmlException
- {
- if (ch1 > ch2)
- {
+ public void addMappings(char ch1, char ch2, int mode) throws XmlException {
+ if (ch1 > ch2) {
throw new XmlException("XmlOptionCharEscapeMap.addMappings(): " +
- "ch1 must be <= ch2");
+ "ch1 must be <= ch2");
}
- for (char c = ch1; c <= ch2; c++)
- {
+ for (char c = ch1; c <= ch2; c++) {
addMapping(c, mode);
}
}
@@ -135,8 +128,7 @@ public class XmlOptionCharEscapeMap
/**
* returns the escaped String for the character
*/
- public String getEscapedString(char ch)
- {
- return (String)_charMap.get(new Character(ch));
+ public String getEscapedString(char ch) {
+ return _charMap.get(ch);
}
}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlSimpleList.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlSimpleList.java?rev=1882074&r1=1882073&r2=1882074&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlSimpleList.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/XmlSimpleList.java Sun Sep 27 21:25:33 2020
@@ -15,10 +15,7 @@
package org.apache.xmlbeans;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
+import java.util.*;
/**
* The immutable {@link List} returned for XML simple list values.
@@ -27,17 +24,17 @@ import java.util.ListIterator;
* contents, so two XmlSimpleLists are the same if they have the same
* values in the same order.
*/
-public class XmlSimpleList implements List<Object>, java.io.Serializable {
+public class XmlSimpleList<T> implements List<T>, java.io.Serializable {
private static final long serialVersionUID = 1L;
- private final List<Object> underlying;
+ private final List<T> underlying;
/**
* Constructs an immutable XmlSimpleList that wraps (does not copy)
* the given {@link List}. All non-mutating methods delegate to
* the underlying List instance.
*/
- public XmlSimpleList(List<Object> list) {
+ public XmlSimpleList(List<T> list) {
this.underlying = list;
}
@@ -79,7 +76,8 @@ public class XmlSimpleList implements Li
/**
* Copies the collection to an array of a specified type.
*/
- public <T> T[] toArray(T[] a) {
+ @SuppressWarnings("SuspiciousToArrayCall")
+ public <X> X[] toArray(X[] a) {
return underlying.toArray(a);
}
@@ -128,14 +126,14 @@ public class XmlSimpleList implements Li
/**
* Returns the object at the specified position in this list.
*/
- public Object get(int index) {
+ public T get(int index) {
return underlying.get(index);
}
/**
* Unsupported because this list is immutable.
*/
- public Object set(int index, Object element) {
+ public T set(int index, T element) {
throw new UnsupportedOperationException();
}
@@ -149,7 +147,7 @@ public class XmlSimpleList implements Li
/**
* Unsupported because this list is immutable.
*/
- public Object remove(int index) {
+ public T remove(int index) {
throw new UnsupportedOperationException();
}
@@ -177,22 +175,22 @@ public class XmlSimpleList implements Li
/**
* Returns a view of the portion of this list between the specified fromIndex, inclusive, and toIndex, exclusive.
*/
- public List<Object> subList(int from, int to) {
- return new XmlSimpleList(underlying.subList(from, to));
+ public List<T> subList(int from, int to) {
+ return new XmlSimpleList<>(underlying.subList(from, to));
}
/**
* Returns an iterator over the elements in this list in proper sequence.
*/
- public Iterator<Object> iterator() {
- return new Iterator<Object>() {
- final Iterator<Object> i = underlying.iterator();
+ public Iterator<T> iterator() {
+ return new Iterator<T>() {
+ final Iterator<T> i = underlying.iterator();
public boolean hasNext() {
return i.hasNext();
}
- public Object next() {
+ public T next() {
return i.next();
}
@@ -205,22 +203,22 @@ public class XmlSimpleList implements Li
/**
* Returns a list iterator of the elements in this list in proper sequence.
*/
- public ListIterator<Object> listIterator() {
+ public ListIterator<T> listIterator() {
return listIterator(0);
}
/**
* Returns a list iterator of the elements in this list in proper sequence, starting at the specified position in this list.
*/
- public ListIterator<Object> listIterator(final int index) {
- return new ListIterator<Object>() {
- final ListIterator<Object> i = underlying.listIterator(index);
+ public ListIterator<T> listIterator(final int index) {
+ return new ListIterator<T>() {
+ final ListIterator<T> i = underlying.listIterator(index);
public boolean hasNext() {
return i.hasNext();
}
- public Object next() {
+ public T next() {
return i.next();
}
@@ -228,7 +226,7 @@ public class XmlSimpleList implements Li
return i.hasPrevious();
}
- public Object previous() {
+ public T previous() {
return i.previous();
}
@@ -295,16 +293,14 @@ public class XmlSimpleList implements Li
if (!(o instanceof XmlSimpleList)) {
return false;
}
- final XmlSimpleList xmlSimpleList = (XmlSimpleList) o;
- List<Object> underlying2 = xmlSimpleList.underlying;
+ final XmlSimpleList<?> xmlSimpleList = (XmlSimpleList<?>) o;
+ List<?> underlying2 = xmlSimpleList.underlying;
int size = underlying.size();
if (size != underlying2.size()) {
return false;
}
for (int i = 0; i < size; i++) {
- Object item = underlying.get(i);
- Object item2 = underlying2.get(i);
- if (item == null ? item2 != null : !item.equals(item2)) {
+ if (!Objects.equals(underlying.get(i), underlying2.get(i))) {
return false;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org