3853N/A/*
3853N/A * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
3853N/A * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3853N/A *
3853N/A * This code is free software; you can redistribute it and/or modify it
3853N/A * under the terms of the GNU General Public License version 2 only, as
3853N/A * published by the Free Software Foundation. Oracle designates this
3853N/A * particular file as subject to the "Classpath" exception as provided
3853N/A * by Oracle in the LICENSE file that accompanied this code.
3853N/A *
3853N/A * This code is distributed in the hope that it will be useful, but WITHOUT
3853N/A * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
3853N/A * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
3853N/A * version 2 for more details (a copy is included in the LICENSE file that
3853N/A * accompanied this code).
3853N/A *
3853N/A * You should have received a copy of the GNU General Public License version
3853N/A * 2 along with this work; if not, write to the Free Software Foundation,
3853N/A * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
3853N/A *
3853N/A * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
3853N/A * or visit www.oracle.com if you need additional information or have any
3853N/A * questions.
3853N/A */
5027N/A
3853N/Apackage com.sun.tools.internal.xjc.model;
3853N/A
3853N/Aimport com.sun.tools.internal.xjc.Plugin;
3853N/Aimport com.sun.xml.internal.xsom.XSComponent;
4500N/A
3853N/Aimport org.xml.sax.Locator;
3853N/A
3853N/A/**
3853N/A * Implemented by model components that can have customizations contributed by {@link Plugin}s.
3853N/A *
3853N/A * @author Kohsuke Kawaguchi
3853N/A */
3853N/Apublic interface CCustomizable {
3853N/A /**
3853N/A * Gets the list of customizations attached to this model component.
3853N/A *
3853N/A * @return
3853N/A * can be an empty list but never be null. The returned list is read-only.
3853N/A * Do not modify.
3853N/A *
3853N/A * @see Plugin#getCustomizationURIs()
3853N/A */
4294N/A CCustomizations getCustomizations();
4294N/A
3853N/A /**
3853N/A * Gets the source location in the schema from which this model component is created.
3853N/A *
3853N/A * @return never null.
3853N/A */
3853N/A Locator getLocator();
3853N/A
3853N/A /**
3853N/A * If this model object is built from XML Schema,
3853N/A * this property returns a schema component from which the model is built.
3853N/A *
3853N/A * @return
4500N/A * null if the model is built from sources other than XML Schema
3853N/A * (such as DTD.)
3853N/A */
3853N/A XSComponent getSchemaComponent();
3853N/A}
3853N/A