wt.epm.structure
Interface EPMSrvStructureService

All Known Implementing Classes:
EPMStandardStructureService

public interface EPMSrvStructureService

The EPMSrvStructureService interface identifies the set of EPMStructureService methods that are invokable only from classes running in the method server.

Supported API: false

Extendable: false


Method Summary
 EPMContainedIn copyContainedInLink(EPMContainedIn link, EPMDocument contains, EPMFamilyTable container)
          Within a transaction, create a new contained link link from an existing contained in link and set the ends based on the values passed in.
 QueryResult expand(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec)
          Retrieves objects related to the given persistable object given a role, an association name and selection criteria.
 QueryResult expand(QueryResult objects, Class linkClass, String otherSideRole, QuerySpec querySpec, boolean onlyOtherSide)
          Retrieves objects related to the given persistable object given a role, an association name and selection criteria.
 Object expand(WTCollection objects, Class linkClass, String otherSideRole, QuerySpec querySpec, NavigateResultProcessor processor)
          Navigates the links of the specified class from one set of objects to another bypassing access control.
 Object navigate(WTCollection objects, Class linkClass, String otherSideRole, QuerySpec querySpec, NavigateResultProcessor processor)
          Navigates the links of the specified class from one set of objects to another.
 

Method Detail

expand

public QueryResult expand(QueryResult objects,
                          Class linkClass,
                          String otherSideRole,
                          QuerySpec querySpec)
                   throws WTException
Retrieves objects related to the given persistable object given a role, an association name and selection criteria. This method provides low level access to the database and bypasses access control operations.

Returns a QueryResult of Persistable[] in which the 0th Persistable in the array is the link and the 1th position is the otherSide object from all of the supplied objects..

This method navigates the links associated with all of the supplied objects with a single query.

Supported API: false

Parameters:
objects - Persistable objects to expand from
linkClass - Class of link to expand
otherSideRole - Role to expand to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
Returns:
QueryResult
Throws:
WTException

expand

public QueryResult expand(QueryResult objects,
                          Class linkClass,
                          String otherSideRole,
                          QuerySpec querySpec,
                          boolean onlyOtherSide)
                   throws WTException
Retrieves objects related to the given persistable object given a role, an association name and selection criteria. This method provides low level access to the database and bypasses access control operations.

If onlyOtherSide is "true", returns a QueryResult of otherSide objects. If "false", returns a QueryResult of links.

This method navigates the links associated with all of the supplied objects with a single query.

Supported API: false

Parameters:
objects - Persistable objects to expand from
linkClass - Class of link to expand
otherSideRole - Role to expand to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
onlyOtherSide - If onlyOtherSide is "true", returns a QueryResult of otherSide objects. If "false", returns a QueryResult of links.
Returns:
QueryResult
Throws:
WTException

copyContainedInLink

public EPMContainedIn copyContainedInLink(EPMContainedIn link,
                                          EPMDocument contains,
                                          EPMFamilyTable container)
                                   throws WTException
Within a transaction, create a new contained link link from an existing contained in link and set the ends based on the values passed in.

Supported API: false

Parameters:
link - The link to copy
contains - Document to set to Role A
container - EPMFamilyTable which will be Role B
Returns:
EPMContainedIn
Throws:
WTException

navigate

public Object navigate(WTCollection objects,
                       Class linkClass,
                       String otherSideRole,
                       QuerySpec querySpec,
                       NavigateResultProcessor processor)
                throws WTException
Navigates the links of the specified class from one set of objects to another.

The NavigateResultProcessor determines what objects or attributes to return and what type of object to return them in.

The NavigateResultProcessor may return the links, the other-side objects, or specific attributes of either object or any combination of the three. It may also post process the results from the navigation. For example, it may return the appropriate iteration for each other-side master by applying a ConfigSpec.

It may return the results as a Collection, a Map or some other type of object.

Supported API: false

Parameters:
objects - collection of objects to navigate from
linkClass - link class to navigate
otherSideRole - role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
processor - determines what objects or attributes to return and what type of object to return them in
Returns:
Object
Throws:
WTException

expand

public Object expand(WTCollection objects,
                     Class linkClass,
                     String otherSideRole,
                     QuerySpec querySpec,
                     NavigateResultProcessor processor)
              throws WTException
Navigates the links of the specified class from one set of objects to another bypassing access control.

The NavigateResultProcessor determines what objects or attributes to return and what type of object to return them in.

The NavigateResultProcessor may return the links, the other-side objects, or specific attributes of either object or any combination of the three. It may also post process the results from the navigation. For example, it may return the appropriate iteration for each other-side master by applying a ConfigSpec.

It may return the results as a Collection, a Map or some other type of object.

Supported API: false

Parameters:
objects - collection of objects to navigate from
linkClass - link class to navigate
otherSideRole - role to navigate to
querySpec - null or a QuerySpec that specifies additional criteria for selecting the links
processor - determines what objects or attributes to return and what type of object to return them in
Returns:
Object
Throws:
WTException