Hierarchy Developer's Guide for Oracle Billing Insight > APIs for Customizing Oracle Billing Insight Hierarchy Manager >

IHierarchyManager Interface


The IHierarchyManager interface provides a contract for managing hierarchy-related operations like create, update, delete, or search. Obtain an instance of IHierarchyManager through IHierarchyService:

  • LookupService lookup: LookupServiceFactory.getInstance()
  • IHierarchyService hierarchyService: (IHierarchyService) lookup.getModule("hierarchy")
  • IHierarchyManager hierarchyManager: hierarchyService.createHierarchyManager(anIUser)

Table 13 describes the methods available for the IHierarchyManager API.

Table 13. IHierarchyManager Methods
Method
Description

void addUserAccess(IOMFObject omfObject, java.lang.String userId)

Allows a user to access nodes whose link targets are the same as the given object in all hierarchies.

void addUserAccess(java.lang.String userId, IHierarchyNode[] nodes)

Associates a user to multiple nodes.

IHierarchy createHiearchyFromNode(java.lang.String companyId, java.lang.String hierarchyName, IHierarchyType hierarchyType, IHierarchyNode nodeToCopy, boolean preserveUserAccess)

Creates a hierarchy with a new copy of a tree base on the passed in node.

IHierarchy createHiearchyFromNode(java.lang.String companyId, java.lang.String hierarchyName, IHierarchyType hierarchyType, java.util.Set nodesToCopy, boolean preserveUserAccess)

Creates a hierarchy with a new copy of a tree base on the passed in node.

HierarchyExchangeResult exportXML(IHierarchy hierarchy, java.lang.String newHierarchyName)

Deprecated. Exports to XML file a specified hierarchy from the point of view of the currently logged in user.

java.io.InputStream exportXMLAsInputStream(IHierarchy hierarchy, java.lang.String newHierarchyName)

Exports to XML file a specified hierarchy from the point of view of the currently logged in user.

IHierarchy findHierarchy(java.lang.String companyID, java.lang.String hierName)

Finds the hierarchy with corresponding company ID and hierarchy name.

IHierarchy[] findHierarchyForLinkTargetURI(IHierarchyType hierarchytype, java.lang.String linkTargetURI)

Finds the hierarchies with the specific hierarchy type and containing the specific link target.

IHierarchy[] findHierarchyForLinkTargetURI(IHierarchyType hierarchytype, java.lang.String linkTargetURI, IPeriod period)

Finds the hierarchies with the given hierarchy type and containing the given link target for the given period.

IHierarchyNode[] findNodeByLinkTargetId(java.lang.String linkTargetId)

Finds all nodes in all hierarchies that match a link target ID.

IHierarchyNode[] findNodeByLinkTargetId(java.lang.String linkTargetId, IPeriod period)

Finds all nodes in all hierarchies that match a link target ID in specific period.

IHierarchyNode[] findNodeByLinkTargetType(java.lang.String linkTargetType)

Finds all nodes in all hierarchies that match a link target type.

IHierarchyNode[] findNodeByLinkTargetType(java.lang.String linkTargetType, IPeriod period)

Finds all nodes in all hierarchies that match a link target type in specific period.

IHierarchyNode[] findNodeByLinkTargetTypeAndDisplayName(java.lang.String linkTargetType, java.lang.String linkTargetDisplayName)

Finds all nodes in all hierarchies that match a link target type and link target display name.

IHierarchyNode[] findNodeByLinkTargetTypeAndDisplayName(java.lang.String linkTargetType, java.lang.String linkTargetDisplayName, IPeriod period)

Finds all nodes in all hierarchies in the specific period that match the given link target type and link target display name.

IHierarchyNode[] findNodeByLinkTargetTypeAndLinkTargetId(java.lang.String linkTargetType, java.lang.String linkTargetId)

Finds all nodes in all hierarchies that match a link target type and link target ID.

IHierarchyNode[] findNodeByLinkTargetTypeAndLinkTargetId(java.lang.String linkTargetType, java.lang.String linkTargetId, IPeriod period)

Finds all nodes in all hierarchies that match a link target type and link target ID in the specified period.

IHierarchyNode[] findNodeByLinkTargetURI(java.lang.String uri)

Finds all nodes that have the matched URI from all hierarchies.

IHierarchyNode[] findNodeByLinkTargetURI(java.lang.String uri, IPeriod period)

Finds all nodes with link targets having matched URI from all hierarchies for the given period.

IHierarchyNode[] findRootNodeForUser(java.lang.String userId)

Finds all top level nodes the user has access to across all hierarchies.

IHierarchyNode[] findRootNodeForUser(java.lang.String userId, IPeriod period)

Finds all top level nodes the user has access to across all hierarchies for a given period.

IUser getActor()

Retrieves the current user who is managing this hierarchy.

IHierarchy[] getDeletedHierarchies()

Retrieves all hierarchies marked as deleted.

IHierarchy[] getExpirableHierarchyCreatedBy(IHierarchyType hierarchyType, java.lang.String userId)

Finds all hierarchies of specific type that can be expired by the given user.

IHierarchy[] getExpirableHierarchyForCompany(IHierarchyType hierarchyType, java.lang.String domainId)

Finds all hierarchies of specific type that can be expired for the current domain(company).

IHierarchy[] getHierarchies()

Retrieves all hierarchies currently existed in the database.

IHierarchy[] getHierarchies(IHierarchyType hierarchyType)

Retrieves all hierarchies for a given hierarchy type.

IHierarchy[] getHierarchies(IUser user, IHierarchyType type)

Retrieves all hierarchies of a certain type the specified user has access to.

IHierarchy[] getHierarchiesCreateByUserOfType(java.lang.String userId, IHierarchyType hierarchyType)

Finds all hierarchies of specific type that are created by the given user.

IHierarchy[] getHierarchiesForDomain(java.lang.String domainName)

Returns all the hierarchies for a company.

IHierarchy[] getHierarchiesForDomain(java.lang.String domainName, IHierarchyType hiearchyType)

Retrieves all hierarchies for a company with specified hierarchy type.

IHierarchy[] getHierarchiesForUser(java.lang.String userId)

Retrieves all hierarchies the user have access to.

IHierarchy[] getHierarchiesForUser(java.lang.String userId, IHierarchyType hierarchyType)

Retrieves all hierarchies of given type for a given user.

IHierarchy getHierarchy(java.lang.Long hierarchyID)

Returns a hierarchy with an internal ID that is useful on the UI, where hierarchy is saved in the session instead of in the hierarchy object.

IHierarchyNode getHierarchyNode(java.lang.Long hierarchyNodeId)

Returns a hierarchy node with an internal ID, the database key.

HierarchyExchangeResult importXML(java.io.InputStream hierarchyFile)

Imports a hierarchy from an XML file.

void purgeHierarchy(IHierarchy hierarchy)

Permanently deletes the hierarchy from the Oracle Billing Insight database.

void purgeHierarchy(java.lang.String hierarchyDomain, java.lang.String hierarchyName)

Permanently deletes the inactive hierarchy from persistent storage.

void removeAllAccessForUser(java.lang.String userExternalID)

Removes this user's access from all hierarchies.

void removeAllHierarchyForCompany(java.lang.String companyId)

Removes all the hierarchies for a company.

void setActor(IUser actor)

Sets the current user who is managing this hierarchy.

void validateXML(java.io.InputStream hierarchyFile)

Validates hierarchy XML file based on XML schema provided in common-hierarchy-interchange-1.0.xsd and instance-hierarchy-interchange-1.0.xsd

Hierarchy Developer's Guide for Oracle Billing Insight Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.