/* * JBoss, Home of Professional Open Source. * * See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing. * * See the AUTHORS.txt file distributed with this work for a full listing of individual contributors. */ package org.teiid.designer.core.search.commands; import java.util.Collection; import java.util.List; import org.teiid.designer.core.index.IndexSelector; import org.teiid.designer.core.search.runtime.RelationshipRecord; /** * This interface is used to find relationships between models based on specified criteria. * * @since 8.0 */ public interface FindRelationshipsCommand extends SearchCommand { /** * Return a collection of {@link RelationshipRecord} * objects that are found on this command execution. * @return a collection of relationship records */ Collection getRelationShipInfo(); /** * Set the IndexSelector that will be used to obtain models that will be searched. * @param selector the index selector that should be used, or null if the * {@link org.teiid.designer.core.index.ModelWorkspaceIndexSelector} should be used */ void setIndexSelector( IndexSelector selector ); /** * Set the Case sensitivity boolean that will be used to obtain relationships that will * be searched. This is used when a name pattern name is specified. * @param caseSensitive */ void setCaseSensitive( boolean caseSensitive ); /** * Set the uuid to the relationship that is being searched. * @param The the uuid to the relationship that is being searched. */ void setRelationshipUUID(String uuid); /** * Set the search string to match with relationship name. * name is specified. * @param namePattern */ void setNamePattern( String namePattern ); /** * Set the Name of the RelationshipType to search for. * name is specified. * @param */ void setRelationshipTypeName( String RelationshipName ); /** * Set the List of paths to the Participant model workspace resources to search in. * The objects from/to which there are relationships should be among these resources. * If the list is not set or a null value is set, the whole workspace is searched, * if an empty list is set then the command cannot be executed since there are no * resources to search in. * @param participantList;list containing */ void setParticipantList( List participantList ); /** * Set the List of paths to the model workspace relationship resources to search in. * The objects from which there are relationships should be among these resources. * If the list is not set or a null value is set, the whole workspace is searched, * if an empty list is set then the command cannot be executed since there are no * resources to search in. * @param participantList;list containing */ void setRelationshipResourceScopeList( List participantList ); /** * Set the boolean indicating whether sub types should be included in results. * @param includeSubtypes */ void setIncludeSubtypes( boolean includeSubtypes ); }