/*
* Copyright (c) 2013, University of Toronto.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
package edu.toronto.cs.xcurator.mapping;
import edu.toronto.cs.xcurator.common.NsContext;
import java.util.Iterator;
import java.util.Map;
public interface Mapping {
/**
* Check if this mapping is initialized.
*
* @return
*/
boolean isInitialized();
/**
* Set this mapping as initialized, return success flag.
*
* @return true if successfully initialized, false if not successful.
*/
boolean setInitialized();
/**
* Set the base namespace context of the XML document to be transformed
* using this mapping. This namespace context can be overrided by individual
* entities.
*
* @param nsContext
*/
void setBaseNamespaceContext(NsContext nsContext);
/**
* Get the base namespace context of the XML document to be transformed
* using this mapping.
*
* @return
*/
NsContext getBaseNamespaceContext();
void addEntity(Schema schema);
Schema getEntity(String id);
void removeEntity(String id);
public Map<String, Schema> getEntities();
Iterator<Schema> getEntityIterator();
public void removeInvalidRelations();
}