blob: f6ab0c18d84dc4822b6abaa8637a68aa7370437f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010 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;
import java.util.List;
import org.eclipse.jpt.jaxb.core.xsd.XsdSchema;
/**
* Entry point for accessing project schema resources
*
* @noimplement
* @version 3.1
* @since 3.0
*
* 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.
*/
public interface SchemaLibrary {
/**
* Return the schema entries that have been added to the project settings for validation purposes
*/
public List<SchemaEntry> getSchemaEntries();
/**
* Return the locations associated with the schema entries
*/
public List<String> getSchemaLocations();
/**
* Set the schema locations
*/
public void setSchemaLocations(List<String> schemaLocations);
/**
* Return the XsdSchema identified by the given namespace, if it exists and is resolvable.
* If there are multiple schemas with the given namespace, return the first one found.
* Return null otherwise.
*/
public XsdSchema getSchema(String namespace);
/**
* Refresh the schema with the given namespace, if it exists and is resolvable.
* Refresh the first one found if there are multiple schemas for the namespace.
* Do nothing otherwise.
*/
public void refreshSchema(String namespace);
/**
* Refresh all schemas within the library.
*/
public void refreshAllSchemas();
}