com.sun.mdm.index.objects.epath
Class EPathGroup

java.lang.Object
  extended bycom.sun.mdm.index.objects.epath.EPathGroup

public class EPathGroup
extends java.lang.Object

Combines EPath into a group so that operations can be applied to set of EPaths. Used by EORetriever to query EOs. An Epath belongs to a group if its has same object path, differed only in the fieldnames or filters. So, for example, Enterprise.SystemObject.* and Enterprise.SystemObject[LID=1].* EPaths belong to same group. But Enterprise.SystemObject.Person.* belong to different group


Constructor Summary
EPathGroup()
           
 
Method Summary
 boolean addEPath(EPath epath)
          add a Epath to this group
 java.util.List getFilterPaths()
          return List of Filter[][] for each EPath in this group
 java.lang.String[] getSelectFields()
          return all the fields that are to be retrieved for query for this epathgroup.
 boolean isSBR()
          is this EPathGroup contains SBR epaths
static boolean isSBR(EPath epath)
          does input epath contains SBR epaths
 boolean isSO()
          is this EPathGroup contains SO epaths
static EPath[] splitIntoQueryCombinations(EPath epath)
          splits an Epath into many Epaths that can be used to form QueryObjects The first EPath in the list of ePaths returned is always Enterprise.S0 or Enterprise.SBR.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EPathGroup

public EPathGroup()
Method Detail

addEPath

public boolean addEPath(EPath epath)
add a Epath to this group

Parameters:
epath -
Returns:
false, if epath does not belong to this group true, if epath belong this group. Additionally it adds epath to this group, if not already present

getFilterPaths

public java.util.List getFilterPaths()
return List of Filter[][] for each EPath in this group

Returns:
List

getSelectFields

public java.lang.String[] getSelectFields()
return all the fields that are to be retrieved for query for this epathgroup. It is summation of fields specified in an Epath plus any primary fields for every Epath in this group. Moreover If this EPathGroup is for SBR, then it does not include Enterprise fields else it include Enterprise fields.

Returns:
array of select fields

isSBR

public boolean isSBR()
is this EPathGroup contains SBR epaths

Returns:

isSBR

public static boolean isSBR(EPath epath)
does input epath contains SBR epaths

Returns:

isSO

public boolean isSO()
is this EPathGroup contains SO epaths

Returns:

splitIntoQueryCombinations

public static EPath[] splitIntoQueryCombinations(EPath epath)
                                          throws EPathException
splits an Epath into many Epaths that can be used to form QueryObjects The first EPath in the list of ePaths returned is always Enterprise.S0 or Enterprise.SBR. So if an EPath is Enterprise.SystemObject.Person.*, then it is split into Epaths: Enterprise.SystemObject.*, Enterprise.SystemObject.Person.* If an EPath is Enterprise.SystemObject.Person[firstName=John].Address.*, then it is split into Epaths: Enterprise.SystemObject.*, Enterprise.SystemObject.Person[firstName=John].*, Enterprise.SystemObject.Person[firstName=John].Address.*

Parameters:
epath - Epath that needs to be splitted
Returns:
split Epaths
Throws:
EPathException


Sun Microsystems, Inc.