Skip to main content
summaryrefslogblamecommitdiffstats
blob: 7d6470455ff5c10cdce09c752abdfc93994fcfa6 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
                                                                                
                                                        








                                                                                
                                                            
 
   









                                                                            
                                         
        

                                
           




                                                                   

                                                               
                              

           




                                                                                 








                                                                      


                               
           
                                                                  
           
                                                            
        
           
                                                                   

                             

                                                             

        
                                             
        
           
                                                                                         

                                            


















                                                                                                
           
                                                                                       

                                          
















                                                                                            









                                                                            
 
/*******************************************************************************
 * Copyright (c) 2010, 2012 Oracle. All rights reserved.
 * This program and the accompanying materials are made available under the
 * terms of the Eclipse Public License v1.0, which accompanies this distribution
 * and is available at http://www.eclipse.org/legal/epl-v10.html.
 * 
 * Contributors:
 *     Oracle - initial API and implementation
 ******************************************************************************/
package org.eclipse.jpt.jaxb.core.context;

import org.eclipse.jpt.common.utility.iterable.ListIterable;

/**
 * Provisional API: This interface is part of an interim API that is still
 * under development and expected to change significantly before reaching
 * stability. It is available at this early stage to solicit feedback from
 * pioneering adopters on the understanding that any code that uses this API
 * will almost certainly be broken (repeatedly) as the API evolves.
 * 
 * @version 3.0
 * @since 3.0
 */
public interface XmlSchema
		extends JaxbContextNode {
	
	// ***** namespace *****
	
	/**
	 * String constant associated with changes to the namespace
	 */
	String NAMESPACE_PROPERTY = "namespace"; //$NON-NLS-1$
	
	/**
	 * Return the specified namespace or "" (default value)
	 */
	String getNamespace();
	
	/**
	 * String constant associated with changes to the specified namespace
	 */
	String SPECIFIED_NAMESPACE_PROPERTY = "specifiedNamespace"; //$NON-NLS-1$
	
	/**
	 * Return the specified namespace, null if it is not specified
	 */
	String getSpecifiedNamespace();
	
	/**
	 * Set the namespace, null to unspecify
	 */
	void setSpecifiedNamespace(String namespace);
	
	
	// ***** location *****
	
	/**
	 * String constant associated with changes to the location
	 */
	String LOCATION_PROPERTY = "location"; //$NON-NLS-1$
	
	/**
	 * Corresponds to the XmlSchema annotation location element
	 */
	String getLocation();
	
	String DEFAULT_LOCATION = "##generate"; //$NON-NLS-1$
	
	
	// ***** attribute form default *****
	
	/**
	 * Return the specified attribute form default or XmlNsForm.UNSET (default value)
	 */
	XmlNsForm getAttributeFormDefault();
	
	/**
	 * Return the specified attribute form default, null if it is not specified
	 */
	XmlNsForm getSpecifiedAttributeFormDefault();
	
	/**
	 * Set the attribute form default, null to unspecify
	 */
	void setSpecifiedAttributeFormDefault(XmlNsForm attributeFormDefault);
	
	/**
	 * String constant associated with changes to the specified attribute form default
	 */
	String SPECIFIED_ATTRIBUTE_FORM_DEFAULT_PROPERTY = "attributeFormDefault"; //$NON-NLS-1$
	
	
	// **************** element form default ********************************
	
	/**
	 * Return the specified element form default or XmlNsForm.UNSET (default value)
	 */
	XmlNsForm getElementFormDefault();
	
	/**
	 * Return the specified element form default, null if it is not specified
	 */
	XmlNsForm getSpecifiedElementFormDefault();
	
	/**
	 * Set the element form default, null to unspecify
	 */
	void setSpecifiedElementFormDefault(XmlNsForm elementFormDefault);
	
	/**
	 * String constant associated with changes to the specified attribute form default
	 */
	String SPECIFIED_ELEMENT_FORM_DEFAULT_PROPERTY = "elementFormDefault"; //$NON-NLS-1$
	
	
	// ********** xml namespace prefixes **********

	ListIterable<XmlNs> getXmlNsPrefixes();
	int getXmlNsPrefixesSize();
	XmlNs addXmlNsPrefix(int index);
	void removeXmlNsPrefix(int index);
	void removeXmlNsPrefix(XmlNs xmlNsPrefix);
	void moveXmlNsPrefix(int targetIndex, int sourceIndex);
		String XML_NS_PREFIXES_LIST = "xmlNsPrefixes"; //$NON-NLS-1$

}

Back to the top