package org.cagrid.mms.service;
import gov.nih.nci.cagrid.metadata.ServiceMetadata;
import gov.nih.nci.cagrid.metadata.security.ServiceSecurityMetadata;
import java.rmi.RemoteException;
import org.cagrid.mms.model.ModelSourceMetadata;
import org.cagrid.mms.model.NamespaceToProjectMapping;
import org.cagrid.mms.model.UMLAssociationExclude;
import org.cagrid.mms.model.UMLProjectIdentifer;
import org.cagrid.wsrf.properties.ResourceHome;
/**
* The Metadata Model Service (MMS) provides operations for generating and
* semantically annotating standard caGrid metadata instances using information
* extracted from external metadata repositories.
*
* This class is autogenerated, DO NOT EDIT.
*
* This interface represents the API which is accessable on the grid service
* from the client.
*
* @created by Introduce Toolkit version 1.3
*
*/
public interface MetadataModelService {
ResourceHome getResourceHome();
ServiceSecurityMetadata getServiceSecurityMetadata();
ServiceMetadata getServiceMetadata();
/**
* Generates a complete DomainModel for the specified Project
*
* @param umlProjectIdentifer
* The project to generate a DomainModel for.
* @throws InvalidUMLProjectIndentifier
*
*/
public gov.nih.nci.cagrid.metadata.dataservice.DomainModel generateDomainModelForProject(
UMLProjectIdentifer umlProjectIdentifer) throws RemoteException,
InvalidUMLProjectIndentifier;
/**
* Generates a DomainModel for the specified Project, including only the
* specified packages
*
* @param umlProjectIdentifer
* The project to generate a DomainModel for
* @param packageNames
* The package names to include
* @throws InvalidUMLProjectIndentifier
*
*/
public gov.nih.nci.cagrid.metadata.dataservice.DomainModel generateDomainModelForPackages(
UMLProjectIdentifer umlProjectIdentifer,
java.lang.String[] packageNames) throws RemoteException,
InvalidUMLProjectIndentifier;
/**
* Generates a complete DomainModel for the specified Project, including
* only the identified Classes
*
* @param umlProjectIdentifer
* The project to generate a DomainModel for
* @param fullyQualifiedClassNames
* The fully qualified classnames to include in the model
* @throws InvalidUMLProjectIndentifier
*
*/
public gov.nih.nci.cagrid.metadata.dataservice.DomainModel generateDomainModelForClasses(
UMLProjectIdentifer umlProjectIdentifer,
java.lang.String[] fullyQualifiedClassNames)
throws RemoteException, InvalidUMLProjectIndentifier;
/**
* Generates a DomainModel for the specified Project, including only the
* specified Classes, but excluding the specified Associations
*
* @param umlProjectIdentifer
* The project to generate a DomainModel for
* @param fullyQualifiedClassNames
* The fully qualified Class names to include in the model
* @param umlAssociationExclude
* A collection of UML Associations to exclude from the model
* @throws InvalidUMLProjectIndentifier
*
*/
public gov.nih.nci.cagrid.metadata.dataservice.DomainModel generateDomainModelForClassesWithExcludes(
UMLProjectIdentifer umlProjectIdentifer,
java.lang.String[] fullyQualifiedClassNames,
UMLAssociationExclude[] umlAssociationExclude)
throws RemoteException, InvalidUMLProjectIndentifier;
/**
* Annotates the specified ServiceMetadata model with semantic information
* from the specified model, by mapping QNames to UMLClasses
*
* @param serviceMetadata
* The unannotated ServiceMetadata model
* @param namespaceToProjectMappings
* An optional collection of mappings from URI Namespace to
* UMLProjects
* @throws InvalidUMLProjectIndentifier
* Thrown if the identifier is null or contains invalid
* properties.
*/
public gov.nih.nci.cagrid.metadata.ServiceMetadata annotateServiceMetadata(
gov.nih.nci.cagrid.metadata.ServiceMetadata serviceMetadata,
NamespaceToProjectMapping[] namespaceToProjectMappings)
throws RemoteException, InvalidUMLProjectIndentifier;
/**
* Returns the metadata detailing the supported Model sources and their
* characteristics
*
*/
public ModelSourceMetadata getModelSourceMetadata() throws RemoteException;
}