325N/A * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. 325N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 325N/A * This code is free software; you can redistribute it and/or modify it 325N/A * under the terms of the GNU General Public License version 2 only, as 325N/A * published by the Free Software Foundation. Oracle designates this 325N/A * particular file as subject to the "Classpath" exception as provided 325N/A * by Oracle in the LICENSE file that accompanied this code. 325N/A * This code is distributed in the hope that it will be useful, but WITHOUT 325N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 325N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 325N/A * version 2 for more details (a copy is included in the LICENSE file that 325N/A * accompanied this code). 325N/A * You should have received a copy of the GNU General Public License version 325N/A * 2 along with this work; if not, write to the Free Software Foundation, 325N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 325N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 325N/A * or visit www.oracle.com if you need additional information or have any 325N/A * {@link ParticleBinder} that follows the JAXB spec. 325N/A * @author Kohsuke Kawaguchi 325N/A // scan the tree by a checker. 325N/A * Marks particles that need to be mapped to properties, 325N/A * by reading customization info. 325N/A * If a collision is found, this field will be non-null. 325N/A /** Used to check name collision. */ 325N/A * @see DefaultParticleBinder#build(XSParticle, Collection<com.sun.xml.internal.xsom.XSParticle>) 325N/A // if a property customization is specfied, 325N/A // check that value and turn around. 325N/A // a repeated model group gets its own property 325N/A // this particle must become a property 325N/A * This field points to the parent XSParticle. 325N/A * The value is only valid when we are processing XSTerm. 325N/A // choice gets mapped to a property 325N/A * Checks the name collision of a newly found particle. 325N/A * Marks a particle that it's going to be mapped to a property. 325N/A * A map from XSParticle to its label. 325N/A * Checks name collisions among particles that belong to sequences. 325N/A * Checks the label conflict of a particle. 325N/A * This method shall be called for each marked particle. 325N/A * a description of a collision if a name collision is 325N/A * found. Otherwise null. 325N/A // this can be used for particles with a property customization, 325N/A // which may not have element declaration as its term. 325N/A// // we only check particles with element declarations. 325N/A// _assert( p.getTerm().isElementDecl() ); 325N/A // collide with occupied labels 325N/A // problem was found. no need to check further 325N/A /** List of particles reported through the check method. */ 325N/A * Label names already used in the base type. 325N/A * Checks the conflict of two particles. 325N/A * true if the check was successful. 325N/A * Reads fields of the super class and includes them 325N/A * to name collision tests. 325N/A /** Keep the computed label names for particles. */ 325N/A * Hides the computeLabel method of the outer class 325N/A * Builds properties by using the result computed by Checker 325N/A /** All marked particles. */ 325N/A * When we are visiting inside an optional particle, this flag 325N/A /** Returns true if a particle is marked. */ 325N/A /** Gets a label of a particle. */ 325N/A // repeated model groups should have been marked already 325N/A // this is an unmarked particle 325N/A // because the corresponding particle must be marked. 325N/A // because the corresponding particle must be marked.