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 * @author Kohsuke Kawaguchi 325N/A * True if this type set can form references to types. 325N/A * The occurence of the whole references. 325N/A // computed inside canBeTypeRefs() 325N/A * Should be called from one of the raw type set builders. 325N/A * Represents the possible binding option for this {@link RawTypeSet}. 325N/A * This {@link RawTypeSet} can be either an reference property or 325N/A * an element property, and XJC recommends element property. 325N/A * This {@link RawTypeSet} can be either an reference property or 325N/A * an element property, and XJC recommends reference property. 325N/A * This {@link RawTypeSet} can be only bound to a reference property. 325N/A * Returns true if {@link #refs} can form refs of types. 325N/A * If there are multiple {@link Ref}s with the same type, 325N/A * we cannot make them into type refs. Or if any of the {@link Ref} 325N/A * says they cannot be in type refs, we cannot do that either. 325N/A * TODO: just checking if the refs are the same is not suffice. 325N/A * If two refs derive from each other, they cannot form a list of refs 325N/A * (because of a possible ambiguity). 325N/A // the way we compute this is that we start from the most optimistic value, 325N/A // and then gradually degrade as we find something problematic. 325N/A return mode;
// no need to continue the processing 325N/A return;
// the property can't have any value 325N/A return;
// the property can't have any value 325N/A * A reference to something. 325N/A * A {@link Ref} can be either turned into {@link CTypeRef} to form 325N/A * an element property, or {@link Element} to form a reference property. 325N/A * the property to which the returned {@link CTypeRef} will be 325N/A * Can this {@link Ref} be a type ref? 325N/A * @return false to veto. 325N/A * When this {@link RawTypeSet} binds to a {@link CElementPropertyInfo}, 325N/A * this method is used to determine if the property is ID or not. 325N/A * When this {@link RawTypeSet} binds to a {@link CElementPropertyInfo}, 325N/A * this method is used to determine if the property has an associated expected MIME type or not.